Commit a9f41329 by inrgihc

优化交互使用问题

parent 348a78b6
docs/images/005.PNG

68.7 KB | W: | H:

docs/images/005.PNG

76.1 KB | W: | H:

docs/images/005.PNG
docs/images/005.PNG
docs/images/005.PNG
docs/images/005.PNG
  • 2-up
  • Swipe
  • Onion skin
......@@ -25,12 +25,17 @@ public class ParamValue extends BaseParam {
@ApiModelProperty("Object类型的子元素及值")
private List<BaseParamValue> children;
@ApiModelProperty("参数值")
@ApiModelProperty("非数组参数值")
private String value;
@ApiModelProperty("数组参数值")
private List<String> arrayValues;
@Data
public static class BaseParamValue extends BaseParam {
private String value;
private List<String> arrayValues;
}
}
......@@ -21,6 +21,7 @@ import java.security.CodeSource;
import java.security.ProtectionDomain;
import java.util.Enumeration;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
......@@ -39,7 +40,8 @@ public final class PomVersionUtils {
private static final Map<String, String> persistCache = new ConcurrentHashMap<>();
public static String getCachedProjectVersion() {
return persistCache.computeIfAbsent(PREFIX, key -> getProjectVersion());
String versionStr = persistCache.computeIfAbsent(PREFIX, key -> getProjectVersion());
return Optional.ofNullable(versionStr).orElse("1.0.0");
}
private static String getProjectVersion() {
......
......@@ -12,7 +12,6 @@ package com.gitee.sqlrest.core.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gitee.sqlrest.common.enums.ExecuteEngineEnum;
import com.gitee.sqlrest.common.enums.HttpMethodEnum;
import com.gitee.sqlrest.common.enums.OnOffEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.sql.Timestamp;
......@@ -30,6 +29,18 @@ public class ApiAssignmentBaseResponse {
@ApiModelProperty("API配置名称")
private String name;
@ApiModelProperty("模块ID")
private Long moduleId;
@ApiModelProperty("模块名称")
private String moduleName;
@ApiModelProperty("授权分组ID")
private Long groupId;
@ApiModelProperty("授权分组名称")
private String groupName;
@ApiModelProperty("API请求方法:GET, HEAD, PUT, POST, DELETE")
private HttpMethodEnum method;
......
package com.gitee.sqlrest.core.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("模块接口树")
public class ApiModuleAssignments extends EntityIdNameResponse {
@ApiModelProperty("接口列表")
private List<SelectedEntityIdName> children;
}
package com.gitee.sqlrest.core.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@ApiModel("客户端应用列表搜索")
public class AppClientSearchRequest extends EntitySearchRequest {
@ApiModelProperty("分组ID")
private Long groupId;
}
package com.gitee.sqlrest.core.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SelectedEntityIdName {
@ApiModelProperty("ID编号")
private Long id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("是否选中")
private Boolean selected;
}
......@@ -10,6 +10,7 @@
package com.gitee.sqlrest.core.filter;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.thread.ExecutorBuilder;
import cn.hutool.json.JSONUtil;
import com.gitee.sqlrest.common.consts.Constants;
import com.gitee.sqlrest.common.dto.ResultEntity;
......@@ -32,6 +33,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import javax.annotation.Resource;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
......@@ -50,6 +52,11 @@ import org.springframework.stereotype.Component;
@Component
public class AuthenticationFilter implements Filter {
private static final ExecutorService alarmExecutor = ExecutorBuilder.create()
.setCorePoolSize(Runtime.getRuntime().availableProcessors())
.useArrayBlockingQueue(4096)
.build();
@Resource
private ApiAssignmentDao apiAssignmentDao;
@Resource
......@@ -150,7 +157,8 @@ public class AuthenticationFilter implements Filter {
final long accessTime = accessRecordEntity.getDuration();
final int httpStatus = response.getStatus();
accessRecordEntity.setDuration(System.currentTimeMillis() - accessRecordEntity.getDuration());
CompletableFuture.runAsync(() -> finishRecord(apiConfigEntity, accessRecordEntity, httpStatus, accessTime));
CompletableFuture
.runAsync(() -> finishRecord(apiConfigEntity, accessRecordEntity, httpStatus, accessTime), alarmExecutor);
}
}
......
......@@ -43,9 +43,13 @@ import com.gitee.sqlrest.core.util.ApiPathUtils;
import com.gitee.sqlrest.core.util.DataSourceUtils;
import com.gitee.sqlrest.core.util.JacksonUtils;
import com.gitee.sqlrest.persistence.dao.ApiAssignmentDao;
import com.gitee.sqlrest.persistence.dao.ApiGroupDao;
import com.gitee.sqlrest.persistence.dao.ApiModuleDao;
import com.gitee.sqlrest.persistence.dao.DataSourceDao;
import com.gitee.sqlrest.persistence.entity.ApiAssignmentEntity;
import com.gitee.sqlrest.persistence.entity.ApiContextEntity;
import com.gitee.sqlrest.persistence.entity.ApiGroupEntity;
import com.gitee.sqlrest.persistence.entity.ApiModuleEntity;
import com.gitee.sqlrest.persistence.entity.DataSourceEntity;
import com.gitee.sqlrest.persistence.util.PageUtils;
import com.gitee.sqlrest.template.XmlSqlTemplate;
......@@ -55,13 +59,11 @@ import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Supplier;
......@@ -73,6 +75,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@Slf4j
......@@ -86,6 +89,10 @@ public class ApiAssignmentService {
@Resource
private DataSourceDao dataSourceDao;
@Resource
private ApiGroupDao apiGroupDao;
@Resource
private ApiModuleDao apiModuleDao;
@Resource
private DriverLoadService driverLoadService;
public List<ScriptEditorCompletion> completions() {
......@@ -180,6 +187,12 @@ public class ApiAssignmentService {
throw new CommonException(ResponseErrorCode.ERROR_INTERNAL_ERROR, "parameter name must is not blank");
}
if (subParamValue.getRequired()) {
if (subParamValue.getIsArray()) {
if (CollectionUtils.isEmpty(subParamValue.getArrayValues())) {
paramValue.setName(String.format("%s->%s", paramValue.getName(), subParamValue.getName()));
invalidArgs.add(paramValue);
}
} else {
if (StringUtils.isBlank(subParamValue.getValue())) {
paramValue.setName(String.format("%s->%s", paramValue.getName(), subParamValue.getName()));
invalidArgs.add(paramValue);
......@@ -187,14 +200,21 @@ public class ApiAssignmentService {
}
}
}
}
} else {
if (paramValue.getRequired()) {
if (paramValue.getIsArray()) {
if (CollectionUtils.isEmpty(paramValue.getArrayValues())) {
invalidArgs.add(paramValue);
}
} else {
if (StringUtils.isBlank(paramValue.getValue())) {
invalidArgs.add(paramValue);
}
}
}
}
}
if (invalidArgs.size() > 0) {
String msg = "必填参数为空," + invalidArgs.stream().map(
p -> (p.getIsArray() ? "数组" : "") + "参数'" + p.getName()
......@@ -202,32 +222,28 @@ public class ApiAssignmentService {
throw new CommonException(ResponseErrorCode.ERROR_INVALID_ARGUMENT, msg);
}
Map<String, List<ParamValue>> names = request.getParamValues()
.stream()
.filter(
i -> {
if (i.getType().isObject()) {
return true;
}
return StringUtils.isNotBlank(i.getValue());
}
).collect(Collectors.groupingBy(ParamValue::getName));
for (Map.Entry<String, List<ParamValue>> entry : names.entrySet()) {
String paramName = entry.getKey();
List<ParamValue> value = entry.getValue();
ParamTypeEnum type = value.get(0).getType();
for (ParamValue param : request.getParamValues()) {
String paramName = param.getName();
ParamTypeEnum type = param.getType();
try {
if (value.get(0).getIsArray()) {
if (value.get(0).getType().isObject()) {
if (param.getIsArray()) {
if (param.getType().isObject()) {
List<Map<String, Object>> collection = new ArrayList<>();
for (ParamValue pv : value) {
if (pv.getType().isObject() && null != pv.getChildren()) {
Map<String, Object> objectMap = new HashMap<>(4);
for (BaseParamValue spv : pv.getChildren()) {
Object v = spv.getType().getConverter().apply(spv.getValue());
if (null != param.getChildren()) {
Map<String, Object> objectMap = new HashMap<>(param.getChildren().size());
for (BaseParamValue spv : param.getChildren()) {
if (spv.getIsArray()) {
objectMap.put(spv.getName(), null == v ? null : Arrays.asList(v));
List<Object> ls = CollectionUtils.isEmpty(spv.getArrayValues())
? null
: spv.getArrayValues().stream()
.map(item -> spv.getType().getConverter().apply(item))
.collect(Collectors.toList());
objectMap.put(spv.getName(), ls);
} else {
String value = spv.getRequired()
? spv.getValue()
: (StringUtils.isNotBlank(spv.getValue()) ? spv.getValue() : spv.getDefaultValue());
Object v = spv.getType().getConverter().apply(value);
objectMap.put(spv.getName(), v);
}
}
......@@ -235,33 +251,44 @@ public class ApiAssignmentService {
collection.add(objectMap);
}
}
}
if (collection.size() > 0) {
params.put(paramName, collection);
}
} else {
List<Object> values = value.stream().map(ParamValue::getValue)
.map(s -> type.getConverter().apply(s))
.filter(Objects::nonNull)
List<Object> ls = CollectionUtils.isEmpty(param.getArrayValues())
? null
: param.getArrayValues().stream()
.map(item -> type.getConverter().apply(item))
.collect(Collectors.toList());
params.put(paramName, values);
params.put(paramName, ls);
}
} else {
if (value.get(0).getType().isObject()) {
if (null != value.get(0).getChildren()) {
if (type.isObject()) {
if (null != param.getChildren()) {
Map<String, Object> objectMap = new HashMap<>(4);
for (BaseParamValue spv : value.get(0).getChildren()) {
Object v = spv.getType().getConverter().apply(spv.getValue());
for (BaseParamValue spv : param.getChildren()) {
if (spv.getIsArray()) {
objectMap.put(spv.getName(), null == v ? null : Arrays.asList(v));
List<Object> ls = CollectionUtils.isEmpty(spv.getArrayValues())
? null
: spv.getArrayValues().stream()
.map(item -> spv.getType().getConverter().apply(item))
.collect(Collectors.toList());
objectMap.put(spv.getName(), ls);
} else {
String value = spv.getRequired()
? spv.getValue()
: (StringUtils.isNotBlank(spv.getValue()) ? spv.getValue() : spv.getDefaultValue());
Object v = spv.getType().getConverter().apply(value);
objectMap.put(spv.getName(), v);
}
}
params.put(paramName, objectMap);
}
} else {
params.put(paramName, type.getConverter().apply(value.get(0).getValue()));
String value = param.getRequired()
? param.getValue()
: (StringUtils.isNotBlank(param.getValue()) ? param.getValue() : param.getDefaultValue());
params.put(paramName, type.getConverter().apply(value));
}
}
} catch (Exception e) {
......@@ -270,7 +297,7 @@ public class ApiAssignmentService {
}
List<ParamValue> emptyList = request.getParamValues()
.stream().filter(i -> StringUtils.isBlank(i.getValue()))
.stream().filter(i -> !i.getIsArray()).filter(i -> StringUtils.isBlank(i.getValue()))
.collect(Collectors.toList());
for (ParamValue paramValue : emptyList) {
ParamTypeEnum type = paramValue.getType();
......@@ -562,7 +589,20 @@ public class ApiAssignmentService {
apiAssignmentDao.updateStatus(id, false);
}
@Transactional(rollbackFor = Exception.class)
public void updateGroup(Long groupId, List<Long> ids) {
if (null == groupId || null == apiGroupDao.getById(groupId)) {
throw new CommonException(ResponseErrorCode.ERROR_RESOURCE_NOT_EXISTS, "groupId=" + groupId);
}
apiAssignmentDao.resetGroupByGroupId(groupId);
apiAssignmentDao.updateGroup(groupId, ids);
}
public PageResult<ApiAssignmentBaseResponse> listAll(AssignmentSearchRequest request) {
Map<Long, String> moduleIdNameMap = apiModuleDao.listAll().stream()
.collect(Collectors.toMap(ApiModuleEntity::getId, ApiModuleEntity::getName));
Map<Long, String> groupIdNameMap = apiGroupDao.listAll().stream()
.collect(Collectors.toMap(ApiGroupEntity::getId, ApiGroupEntity::getName));
Supplier<List<ApiAssignmentBaseResponse>> method = () -> {
List<ApiAssignmentEntity> lists = apiAssignmentDao
.listAll(request.getGroupId(), request.getModuleId(),
......@@ -572,6 +612,8 @@ public class ApiAssignmentService {
.map(assignmentEntity -> {
ApiAssignmentBaseResponse response = new ApiAssignmentBaseResponse();
BeanUtil.copyProperties(assignmentEntity, response);
response.setModuleName(moduleIdNameMap.get(assignmentEntity.getModuleId()));
response.setGroupName(groupIdNameMap.get(assignmentEntity.getGroupId()));
response.setPath(ApiPathUtils.getFullPath(response.getPath()));
return response;
})
......
......@@ -53,6 +53,9 @@ public class ApiGroupService {
@Transactional(rollbackFor = Exception.class)
public void deleteGroup(Long id) {
if (id.equals(1L)) {
throw new CommonException(ResponseErrorCode.ERROR_INVALID_ARGUMENT, "forbid delete group which id is 1");
}
if (apiAssignmentDao.existsGroupById(id)) {
throw new CommonException(ResponseErrorCode.ERROR_RESOURCE_ALREADY_USED, "used by api config");
}
......
......@@ -12,11 +12,18 @@ package com.gitee.sqlrest.core.service;
import com.gitee.sqlrest.common.dto.PageResult;
import com.gitee.sqlrest.common.exception.CommonException;
import com.gitee.sqlrest.common.exception.ResponseErrorCode;
import com.gitee.sqlrest.core.dto.ApiModuleAssignments;
import com.gitee.sqlrest.core.dto.EntitySearchRequest;
import com.gitee.sqlrest.core.dto.SelectedEntityIdName;
import com.gitee.sqlrest.persistence.dao.ApiAssignmentDao;
import com.gitee.sqlrest.persistence.dao.ApiModuleDao;
import com.gitee.sqlrest.persistence.entity.ApiModuleEntity;
import com.gitee.sqlrest.persistence.entity.ModuleAssignmentEntity;
import com.gitee.sqlrest.persistence.util.PageUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
......@@ -63,4 +70,27 @@ public class ApiModuleService {
request.getSize()
);
}
public List<ApiModuleAssignments> moduleTree(Long groupId) {
Map<Long, List<ModuleAssignmentEntity>> moduleIdListMap = apiAssignmentDao.getModuleAssignments()
.stream().collect(Collectors.groupingBy(ModuleAssignmentEntity::getModuleId));
List<ApiModuleAssignments> results = new ArrayList<>(moduleIdListMap.size());
for (Map.Entry<Long, List<ModuleAssignmentEntity>> entry : moduleIdListMap.entrySet()) {
ModuleAssignmentEntity first = entry.getValue().get(0);
ApiModuleAssignments module = new ApiModuleAssignments();
module.setId(first.getModuleId());
module.setName(first.getModuleName());
module.setChildren(
entry.getValue().stream()
.map(one ->
SelectedEntityIdName.builder()
.id(one.getAssigmentId())
.name(String.format("[%d]%s", one.getAssigmentId(), one.getAssigmentName()))
.selected(one.getGroupId().equals(groupId))
.build())
.collect(Collectors.toList()));
results.add(module);
}
return results;
}
}
......@@ -15,7 +15,6 @@ import com.gitee.sqlrest.cache.CacheFactory;
import com.gitee.sqlrest.common.consts.Constants;
import com.gitee.sqlrest.common.dto.AccessToken;
import com.gitee.sqlrest.common.dto.PageResult;
import com.gitee.sqlrest.common.enums.AliveTimeEnum;
import com.gitee.sqlrest.common.enums.DurationTimeEnum;
import com.gitee.sqlrest.common.enums.ExpireTimeEnum;
import com.gitee.sqlrest.common.exception.CommonException;
......@@ -24,8 +23,8 @@ import com.gitee.sqlrest.common.util.TokenUtils;
import com.gitee.sqlrest.core.dto.AppClientDetailResponse;
import com.gitee.sqlrest.core.dto.AppClientGroupRequest;
import com.gitee.sqlrest.core.dto.AppClientSaveRequest;
import com.gitee.sqlrest.core.dto.AppClientSearchRequest;
import com.gitee.sqlrest.core.dto.EntityIdNameResponse;
import com.gitee.sqlrest.core.dto.EntitySearchRequest;
import com.gitee.sqlrest.persistence.dao.AppClientDao;
import com.gitee.sqlrest.persistence.entity.AppClientEntity;
import com.gitee.sqlrest.persistence.util.PageUtils;
......@@ -83,9 +82,9 @@ public class AppClientService {
}
}
public PageResult<AppClientDetailResponse> searchList(EntitySearchRequest request) {
public PageResult<AppClientDetailResponse> searchList(AppClientSearchRequest request) {
Supplier<List<AppClientDetailResponse>> method = () -> {
List<AppClientEntity> list = appClientDao.listAll(request.getSearchText());
List<AppClientEntity> list = appClientDao.listAll(request.getSearchText(), request.getGroupId());
return list.stream().map(appClientEntity -> {
AppClientDetailResponse response = new AppClientDetailResponse();
BeanUtil.copyProperties(appClientEntity, response);
......
......@@ -58,7 +58,7 @@ public class OverviewService {
public PageResult<ApiAccessLogBasicResponse> pageByApiId(Long apiId, Integer page, Integer size) {
Map<String, String> map = SpringUtil.getBean(AppClientDao.class)
.listAll(null).stream()
.listAll().stream()
.collect(
Collectors.toMap(
AppClientEntity::getAppKey,
......
......@@ -42,7 +42,7 @@ public class ClientTokenService {
public void init() {
long currentTimestamp = getCurrentTimestamp();
try {
for (AppClientEntity appClient : appClientDao.listAll(null)) {
for (AppClientEntity appClient : appClientDao.listAll()) {
appClient.setAppSecret("******");
if (StringUtils.isNotBlank(appClient.getAccessToken())) {
AccessToken clientToken = AccessToken.builder()
......
......@@ -187,6 +187,9 @@ export default {
for (let sql of this.tabSqls) {
this.addTab(sql)
}
if (this.editableTabs.length === 0) {
this.addTab("")
}
},
setTableHints: function (newVal) {
this.cmOptions.hintOptions.tables = newVal
......
......@@ -2,6 +2,8 @@
<div class="user-dropdown-wrap">
<el-dropdown>
<div class="user-dropdown-photo">
当前版本号:
<el-tag size="medium">{{ version }}</el-tag>
<span class="user-dropdown-text">
{{ nickname }}({{username}})
<i class="el-icon-caret-bottom"></i>
......@@ -30,12 +32,14 @@ export default {
data () {
return {
username: "",
nickname: ""
nickname: "",
version: "1.0.0"
};
},
created () {
this.username = window.sessionStorage.getItem("username");
this.nickname = window.sessionStorage.getItem("realname");
this.version = window.sessionStorage.getItem("version");
},
methods: {
hadleLogout () {
......
......@@ -580,19 +580,6 @@
:with-header="true">
<el-card>
<el-row>
<el-col>
<div style="float: right; padding: 0px">
<el-button type="primary"
size="mini"
icon="el-icon-arrow-down"
v-if="!isOnlyShowDetail"
@click="handleAddDebugParams">
添加入参
</el-button>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-table :data="debugParams"
:header-cell-style="{background:'#eef1f6',color:'#606266'}"
......@@ -605,6 +592,7 @@
min-width="35%">
<template slot-scope="scope">
<el-input v-model="scope.row.name"
:disabled="true"
type="string"> </el-input>
</template>
</el-table-column>
......@@ -621,27 +609,17 @@
</template>
</el-table-column>
<el-table-column label="数组"
min-width="25%">
min-width="10%">
<template slot-scope="scope">
<el-select v-model="scope.row.isArray"
:disabled="true">
<el-option label='是'
:value=true></el-option>
<el-option label='否'
:value=false></el-option>
</el-select>
<el-checkbox v-model="scope.row.isArray"
:disabled="true"></el-checkbox>
</template>
</el-table-column>
<el-table-column label="必填"
min-width="25%">
min-width="10%">
<template slot-scope="scope">
<el-select v-model="scope.row.required"
:disabled="true">
<el-option label='是'
:value=true></el-option>
<el-option label='否'
:value=false></el-option>
</el-select>
<el-checkbox v-model="scope.row.required"
:disabled="true"></el-checkbox>
</template>
</el-table-column>
<el-table-column label="描述"
......@@ -653,16 +631,37 @@
</template>
</el-table-column>
<el-table-column label="值"
min-width="25%">
min-width="50%">
<template slot-scope="scope">
<div v-if="scope.row.isArray">
<el-row v-if="scope.row.type=='OBJECT'">
<el-input v-model="scope.row.value"
:disabled="true"
type="string"></el-input>
</el-row>
<el-row v-else
:gutter="24">
<div style="display: inline-flex;justify-content: center;"
v-for="(arrayItemValue,arrayItemIndex) in scope.row.arrayValues"
:key="arrayItemIndex">
<el-col :span="4"><button @click="delArrayValuesItem(scope.row.arrayValues,arrayItemIndex)">-</button></el-col>
<el-col :span="16"><el-input v-model="scope.row.arrayValues[arrayItemIndex]"
:disabled="scope.row.type=='OBJECT'"
type="string"></el-input></el-col>
</div>
<el-col :span="4"><button @click="addArrayValuesItem(scope.row)">+</button></el-col>
</el-row>
</div>
<div v-else>
<el-input v-model="scope.row.value"
:disabled="scope.row.type=='OBJECT'"
type="string"></el-input>
</div>
</template>
</el-table-column>
<el-table-column label="操作"
v-if="!isOnlyShowDetail"
min-width="25%">
min-width="15%">
<template slot-scope="scope">
<el-link icon="el-icon-delete"
@click="deleteDebugParamsItem(scope.$index)"></el-link>
......@@ -673,12 +672,17 @@
</el-row>
<el-row>
<el-col>
<el-tooltip effect="dark"
content="暂不支持对象数组的入参调试功能,但接口支持对象数组入参"
placement="bottom">
<i class='el-icon-question' />
</el-tooltip>
<div style="float: right; padding: 25px">
<el-button type="primary"
size="mini"
icon="el-icon-arrow-left"
@click="handleExecuteDebug">
执行
执行调试
</el-button>
</div>
</el-col>
......@@ -1606,6 +1610,13 @@ export default {
} else {
this.debugParams = []
this.inputParams.forEach(item => {
if (item.children && item.children.length > 0) {
for (let it of item.children) {
if (!it.arrayValues) {
Vue.set(it, 'arrayValues', []);
}
}
}
this.debugParams.push(
{
id: item.id,
......@@ -1616,6 +1627,7 @@ export default {
defaultValue: item.defaultValue,
remark: item.remark,
value: null,
arrayValues: [],
children: item.children
},
)
......@@ -1623,23 +1635,15 @@ export default {
this.showDebugDrawer = true
}
},
handleAddDebugParams: function () {
this.debugParams.push(
{
id: this.uuid(),
name: '',
type: 'LONG',
isArray: true,
required: true,
defaultValue: '',
remark: null,
value: null,
},
)
},
deleteDebugParamsItem: function (index) {
this.debugParams.splice(index, 1);
},
addArrayValuesItem: function (row) {
row.arrayValues.push('');
},
delArrayValuesItem: function (array, index) {
array.splice(index, 1);
},
handleExecuteDebug: function () {
var sqls = []
if (this.createParam.engine === 'SQL') {
......@@ -1856,6 +1860,10 @@ export default {
display: flex;
flex-direction: row;
}
/deep/.el-table .cell .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
background-color: #1464dd;
border-color: #f4f5f8;
}
.debug-console-log-text {
white-space: pre-line;
}
......
......@@ -103,7 +103,15 @@
<el-table-column prop="path"
label="接口路径"
show-overflow-tooltip
min-width="20%"></el-table-column>
min-width="15%"></el-table-column>
<el-table-column prop="moduleName"
label="模块"
show-overflow-tooltip
min-width="10%"></el-table-column>
<el-table-column prop="groupName"
label="授权分组"
show-overflow-tooltip
min-width="10%"></el-table-column>
<el-table-column label="引擎"
min-width="10%">
<template slot-scope="scope">
......
......@@ -89,6 +89,15 @@ export default {
window.sessionStorage.setItem('token', res.data.data.accessToken);
window.sessionStorage.setItem('username', this.ruleForm2.username);
window.sessionStorage.setItem('realname', res.data.data.realName);
this.$http.get("/sqlrest/manager/api/v1/health/version").then(
res => {
if (0 === res.data.code) {
window.sessionStorage.setItem('version', res.data.data);
}
}
);
this.$router.push({
path: '/dashboard'
});
......
......@@ -4,6 +4,17 @@
<div class="client-list-top">
<div class="left-search-input-group">
<div class="left-search-input">
<el-select v-model="groupId"
size="mini"
@change="searchByKeyword"
:clearable="true"
style="width:200px"
placeholder="选择授权分组">
<el-option v-for="(item,index) in groups"
:key="index"
:label="item.name"
:value="item.id"></el-option>
</el-select>
<el-input placeholder="请输入名称关键字搜索"
size="mini"
v-model="keyword"
......@@ -234,6 +245,7 @@ export default {
data () {
return {
loading: true,
groupId: null,
keyword: null,
lists: [],
currentPage: 1,
......@@ -296,6 +308,7 @@ export default {
},
url: "/sqlrest/manager/api/v1/client/list",
data: JSON.stringify({
groupId: this.groupId,
searchText: this.keyword,
page: this.currentPage,
size: this.pageSize
......@@ -472,6 +485,7 @@ export default {
},
created () {
this.loadData();
this.loadAllGroups();
}
};
</script>
......@@ -500,7 +514,7 @@ export default {
justify-content: space-between;
}
.left-search-input {
width: 300px;
width: 80%;
margin-right: auto;
margin: 10px 5px;
}
......
......@@ -44,12 +44,18 @@
<template slot-scope="scope">
<el-button-group>
<el-button size="small"
type="danger"
icon="el-icon-document"
@click="handleRelation(scope.$index, scope.row)"
round>关联</el-button>
<el-button size="small"
type="warning"
icon="el-icon-edit"
@click="handleUpdate(scope.$index, scope.row)"
round>编辑</el-button>
<el-button size="small"
type="success"
v-if="scope.row.id!==1"
icon="el-icon-delete"
@click="handleDelete(scope.$index, scope.row)"
round>删除</el-button>
......@@ -119,12 +125,40 @@
@click="handleSave">确 定</el-button>
</div>
</el-dialog>
<el-dialog title="修改关联信息"
:visible.sync="relationFormVisible"
:showClose="false"
:before-close="handleClose">
<el-alert title="取消勾选后执行修改操作时,被取消勾选项将被修改关联到id=1的“默认分组”中."
type="warning"
show-icon>
</el-alert>
<el-tree :data="moduleAssignments"
:show-checkbox="true"
ref="relationTree"
node-key="id"
:default-checked-keys="initCheckedKeys"
highlight-current
:props="defaultProps">
</el-tree>
<div slot="footer"
class="dialog-footer">
<el-button type="primary"
@click="relationFormVisible = false">关 闭</el-button>
<el-button type="danger"
v-if="currentGroupId!==1"
@click="handleRelationSave">修 改</el-button>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import qs from "qs";
import Vue from "vue";
export default {
name: "group",
......@@ -157,10 +191,31 @@ export default {
]
},
createFormVisible: false,
updateFormVisible: false
updateFormVisible: false,
relationFormVisible: false,
moduleAssignments: [],
initCheckedKeys: [],
currentGroupId: 0,
defaultProps: {
children: 'children',
label: 'name'
}
}
},
methods: {
uuid: function () {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid;
},
loadData: function () {
this.$http({
method: "POST",
......@@ -237,6 +292,48 @@ export default {
}
});
},
handleRelation: function (index, row) {
this.moduleAssignments = [];
this.$http.get(
"/sqlrest/manager/api/v1/module/moduleTree/" + row.id
).then(res => {
if (0 === res.data.code) {
this.initCheckedKeys = [];
this.currentGroupId = row.id;
this.moduleAssignments = res.data.data;
for (let item of this.moduleAssignments) {
Vue.set(item, 'id', this.uuid());
if (item.children) {
for (let one of item.children) {
//Vue.set(one, 'disabled', true);
if (one.selected) {
this.initCheckedKeys.push(one.id);
}
}
}
}
}
});
this.relationFormVisible = true;
},
handleRelationSave: function () {
let checkedKeys = this.$refs.relationTree.getCheckedKeys(true);
this.$http({
method: "POST",
headers: {
'Content-Type': 'application/json'
},
url: "/sqlrest/manager/api/v1/assignment/group/" + this.currentGroupId,
data: checkedKeys
}).then(res => {
if (0 === res.data.code) {
this.relationFormVisible = false;
this.$message("修改关联信息成功.");
} else {
alert("修改失败:" + res.data.message);
}
});
},
handleUpdate: function (index, row) {
this.updateform = JSON.parse(JSON.stringify(row));
this.updateFormVisible = true;
......
......@@ -25,6 +25,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
......@@ -131,6 +132,13 @@ public class ApiAssignmentController {
return apiAssignmentService.listAll(request);
}
@ApiOperation(value = "批量更新授权组")
@PostMapping(value = "/group/{groupId}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultEntity updateGroup(@PathVariable("groupId") Long groupId, @RequestBody List<Long> ids) {
apiAssignmentService.updateGroup(groupId, ids);
return ResultEntity.success();
}
@ApiOperation(value = "开放")
@PutMapping(value = "/open/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultEntity makeOpen(@PathVariable("id") Long id, @RequestParam("open") Boolean open) {
......
......@@ -12,16 +12,19 @@ package com.gitee.sqlrest.manager.controller;
import com.gitee.sqlrest.common.consts.Constants;
import com.gitee.sqlrest.common.dto.PageResult;
import com.gitee.sqlrest.common.dto.ResultEntity;
import com.gitee.sqlrest.core.dto.ApiModuleAssignments;
import com.gitee.sqlrest.core.dto.EntitySearchRequest;
import com.gitee.sqlrest.core.service.ApiModuleService;
import com.gitee.sqlrest.persistence.entity.ApiModuleEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import javax.annotation.Resource;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -64,4 +67,10 @@ public class ApiModuleController {
public PageResult<ApiModuleEntity> listAll(@RequestBody EntitySearchRequest request) {
return apiModuleService.listAll(request);
}
@ApiOperation(value = "模块接口树")
@GetMapping(value = "/moduleTree/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultEntity moduleTree(@PathVariable("id") Long groupId) {
return ResultEntity.success(apiModuleService.moduleTree(groupId));
}
}
......@@ -15,8 +15,8 @@ import com.gitee.sqlrest.common.dto.ResultEntity;
import com.gitee.sqlrest.core.dto.AppClientDetailResponse;
import com.gitee.sqlrest.core.dto.AppClientGroupRequest;
import com.gitee.sqlrest.core.dto.AppClientSaveRequest;
import com.gitee.sqlrest.core.dto.AppClientSearchRequest;
import com.gitee.sqlrest.core.dto.EntityIdNameResponse;
import com.gitee.sqlrest.core.dto.EntitySearchRequest;
import com.gitee.sqlrest.core.service.AppClientService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -56,7 +56,7 @@ public class AppClientController {
@ApiOperation(value = "客户端应用列表")
@PostMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)
public PageResult<AppClientDetailResponse> searchList(@RequestBody EntitySearchRequest request) {
public PageResult<AppClientDetailResponse> searchList(@RequestBody AppClientSearchRequest request) {
return appClientService.searchList(request);
}
......
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>SQLREST工具</title><link href=/static/css/app.a0d428dcff1407fb55c58a847b2839b3.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.52df910f8eccdd2a9197.js></script><script type=text/javascript src=/static/js/vendor.a6ebeac16c85a178c5e7.js></script><script type=text/javascript src=/static/js/app.e892e4af016c82ce3f40.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>SQLREST工具</title><link href=/static/css/app.5726987273062328780d7103d770c730.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.1c71f09d3dc37e748c1c.js></script><script type=text/javascript src=/static/js/vendor.a6ebeac16c85a178c5e7.js></script><script type=text/javascript src=/static/js/app.2c1ec8f3a08d363c1c13.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
webpackJsonp([1,2],{"4er+":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a={name:"asideBarItem",props:{router:{type:Object}},components:{},data:function(){return{}},computed:{},watch:{},methods:{hasChildrenAndShow:function(t){return!t.hidden&&t.hasOwnProperty("children")},saveActivePath:function(t){this.$emit("setActivePath",t)}},created:function(){},mounted:function(){}},s={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"asideBarItem-container"},[t.hasChildrenAndShow(t.router)?n("el-submenu",{attrs:{index:t.router.path}},[n("template",{slot:"title"},[n("i",{class:t.router.icon}),t._v(" "),n("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(t.router.name))])]),t._v(" "),t._l(t.router.children,function(t,e){return n("asideBarItem",{key:t.path,attrs:{router:t}})})],2):n("el-menu-item",{key:t.router.path,attrs:{index:t.router.path},on:{click:function(e){return t.saveActivePath(t.router.path)}}},[n("i",{class:t.router.icon}),t._v(" "),n("span",[t._v(t._s(t.router.name))])])],1)},staticRenderFns:[]};var r={name:"asideBar",components:{asideBarItem:n("VU/8")(a,s,!1,function(t){n("ASLc")},"data-v-645f620a",null).exports},data:function(){return{collapsed:!1,initActivePath:"/dashboard"}},computed:{routers:function(){return this.$router.options.routes[0].children}},watch:{},methods:{showBarItem:function(t){return!t.hidden},handleOpen:function(t,e){},handleClose:function(t,e){},updateCollapse:function(t){this.collapsed=t},setActivePath:function(t){this.initActivePath=t,window.sessionStorage.setItem("activePath",t)},getActivePath:function(){return window.sessionStorage.getItem("activePath")}},created:function(){this.initActivePath=this.getActivePath()},mounted:function(){}},i={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"aside-container"},[n("el-row",{staticClass:"tac"},[n("el-col",{attrs:{span:24}},[n("el-menu",{attrs:{router:!0,"unique-opened":"","background-color":"#001529","text-color":"rgb(191, 203, 217)","active-text-color":"#ffffff",collapse:t.collapsed,"default-active":t.initActivePath},on:{open:t.handleOpen,close:t.handleClose}},t._l(t.routers,function(e){return t.showBarItem(e)?n("asideBarItem",{key:e.path,attrs:{router:e},on:{setActivePath:t.setActivePath}}):t._e()}),1)],1)],1)],1)},staticRenderFns:[]};var l={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{"separator-class":"el-icon-arrow-right"}},[n("transition-group",t._l(t.levelList,function(e,a){return e.name?n("el-breadcrumb-item",{key:e.path},["noredirect"===e.redirect||a==t.levelList.length-1?n("span",{staticClass:"no-redirect"},[t._v(t._s(e.name))]):n("router-link",{attrs:{to:e.redirect||e.path}},[t._v(t._s(e.name))])],1):t._e()}),1)],1)},staticRenderFns:[]};var o={data:function(){return{username:"",nickname:"",version:"1.0.0"}},created:function(){this.username=window.sessionStorage.getItem("username"),this.nickname=window.sessionStorage.getItem("realname"),this.version=window.sessionStorage.getItem("version")},methods:{hadleLogout:function(){window.sessionStorage.clear(),this.$http({method:"GET",url:"/user/logout"}),this.$router.push("/login")}},destroyed:function(){window.sessionStorage.setItem("activePath","/")}},c={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"user-dropdown-wrap"},[a("el-dropdown",[a("div",{staticClass:"user-dropdown-photo"},[t._v("\n 当前版本号:\n "),a("el-tag",{attrs:{size:"medium"}},[t._v(t._s(t.version))]),t._v(" "),a("span",{staticClass:"user-dropdown-text"},[t._v("\n "+t._s(t.nickname)+"("+t._s(t.username)+")\n "),a("i",{staticClass:"el-icon-caret-bottom"})]),t._v(" "),a("img",{attrs:{src:n("BQ5I"),alt:"user"}})],1),t._v(" "),a("el-dropdown-menu",{attrs:{solt:"dropdown"}},[a("el-dropdown-item",[a("router-link",{attrs:{to:"/user/self"}},[a("i",{staticClass:"el-icon-s-custom"}),t._v("个人信息\n ")])],1),t._v(" "),a("el-dropdown-item",{attrs:{divided:""}},[a("a",{on:{click:function(e){return t.hadleLogout()}}},[a("i",{staticClass:"el-icon-switch-button"}),t._v("退出登录\n ")])])],1)],1)],1)},staticRenderFns:[]};var u={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"viewer-container"},[e("router-view")],1)},staticRenderFns:[]};var v={name:"home",components:{asideBar:n("VU/8")(r,i,!1,function(t){n("GWYl")},"data-v-1dde93fa",null).exports,breadcrumb:n("VU/8")({name:"breadcrumb",data:function(){return{levelList:[]}},created:function(){this.getBreadcrumb()},watch:{$route:function(){this.getBreadcrumb()}},methods:{getBreadcrumb:function(){var t=this.$route.matched.filter(function(t){return t.name});this.levelList=t}}},l,!1,function(t){n("Yuwj")},"data-v-a2157ea2",null).exports,userDropdown:n("VU/8")(o,c,!1,function(t){n("lv/T")},"data-v-72485615",null).exports,viewMain:n("VU/8")({name:"viewer",components:{},data:function(){return{}},computed:{},watch:{},methods:{},created:function(){},mounted:function(){}},u,!1,function(t){n("mWqL")},"data-v-7b74460c",null).exports},data:function(){return{title:"SQLREST",isCollapse:null}},computed:{},watch:{},methods:{handleToggleCollapse:function(){var t=!this.isCollapse;this.isCollapse=t,this.$refs.asideBar.updateCollapse(t)}},created:function(){},mounted:function(){}},d={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("el-container",{staticClass:"index-container"},[a("el-aside",{attrs:{width:t.isCollapse?"64px":"250px"}},[a("div",{staticClass:"title"},[a("img",{attrs:{src:n("7Otq")}}),t._v(" "),t.isCollapse?t._e():a("span",{staticClass:"title-text"},[t._v(t._s(t.title))])]),t._v(" "),a("asideBar",{ref:"asideBar"})],1),t._v(" "),a("el-main",[a("el-header",[a("div",{staticClass:"collapse",on:{click:t.handleToggleCollapse}},[t.isCollapse?a("i",{staticClass:"el-icon-s-unfold"}):a("i",{staticClass:"el-icon-s-fold"})]),t._v(" "),a("breadcrumb"),t._v(" "),a("userDropdown")],1),t._v(" "),a("viewMain")],1)],1)},staticRenderFns:[]};var p=n("VU/8")(v,d,!1,function(t){n("z9t0")},"data-v-4972070e",null);e.default=p.exports},"7Otq":function(t,e,n){t.exports=n.p+"static/img/logo.a674d30.png"},AEfp:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a={components:{layout:n("4er+").default},data:function(){return{activeName:"first"}},methods:{handleClick:function(t,e){}}},s={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("h3",[t._v("关于SQLREST工具")]),t._v(" "),n("el-tabs",{on:{"tab-click":function(e){return t.handleClick()}},model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[n("el-tab-pane",{attrs:{label:"系统功能",name:"first"}},[n("div",{staticClass:"content_tag"},[n("el-tag",{attrs:{type:"danger"}},[t._v("SQL接口")]),t._v(" "),n("el-tag",{attrs:{type:"success"}},[t._v("脚本接口")])],1),t._v(" "),n("div",{staticClass:"content_card"},[n("el-card",{staticClass:"box-card"},[n("div",{staticClass:"text item"},[n("p",[t._v("\n 一句话,sqlrest工具提供快速构建RESTful的"),n("B",[t._v("API接口")]),t._v("工具,包括SQl方式和脚本方式。功能包括:\n ")],1),t._v(" "),n("ul",[n("li",[t._v("项目托管")]),t._v(" "),n("p",[t._v("\n Gitee地址:"),n("a",{attrs:{href:"https://gitee.com/inrgihc/sqlrest"}},[t._v("https://gitee.com/inrgihc/sqlrest")])]),t._v(" "),n("li",[t._v("SQL方式构建RESTful接口")]),t._v(" "),n("p",[t._v("\n 提供类似mybatis的动态SQL语法方式构建接口。\n ")]),t._v(" "),n("li",[t._v("脚本方式构建RESTful接口")]),t._v(" "),n("p",[t._v("\n 基于groovy脚本的语法方式构建复杂场景下的接口。\n ")]),t._v(" "),n("li",[t._v("支持接口的token安全认证功能")]),t._v(" "),n("p",[t._v("\n 执行器支持生成token及token认证。\n ")]),t._v(" "),n("li",[t._v("支持生成在线接口文档功能")]),t._v(" "),n("p",[t._v("\n 基于swagger-ui提供生成在线接口文档功能。\n ")]),t._v(" "),n("li",[t._v("支持接口的流量控制功能")]),t._v(" "),n("p",[t._v("\n 执行器基于sentinel支持接口的流量控制功能。\n ")]),t._v(" "),n("li",[t._v("支持接口的缓存配置功能")]),t._v(" "),n("p",[t._v("\n 执行器支持哈希及SpEL表达式方式配置缓存功能。\n ")]),t._v(" "),n("li",[t._v("支持将接口转换为MCP工具功能")]),t._v(" "),n("p",[t._v("\n Manager支持作为MCP服务端提供Tool功能。\n ")])])])])],1)]),t._v(" "),n("el-tab-pane",{attrs:{label:"关系数据库",name:"second"}},[n("div",{staticClass:"content_tag"},[n("el-tag",{attrs:{type:"success"}},[t._v("JDBC")]),t._v(" "),n("el-tag",{attrs:{type:"danger"}},[t._v("sqlrest")])],1),t._v(" "),n("div",{staticClass:"content_card"},[n("el-card",{staticClass:"box-card"},[n("div",{staticClass:"text item"},[n("p",[t._v("\n sqlrest配置支持的常规关系数据库有20+,包括:\n ")]),t._v(" "),n("ul",[n("li",[t._v("甲骨文的Oracle\n ")]),t._v(" "),n("li",[t._v("MySQL\n ")]),t._v(" "),n("li",[t._v("MariaDB\n ")]),t._v(" "),n("li",[t._v("微软的Microsoft SQLServer\n ")]),t._v(" "),n("li",[t._v("PostgreSQL/Greenplum\n ")]),t._v(" "),n("li",[t._v("IBM的DB2\n ")]),t._v(" "),n("li",[t._v("Sybase数据库\n ")]),t._v(" "),n("li",[t._v("国产达梦数据库DMDB\n ")]),t._v(" "),n("li",[t._v("国产人大金仓数据库Kingbase8\n ")]),t._v(" "),n("li",[t._v("国产翰高数据库HighGo\n ")]),t._v(" "),n("li",[t._v("国产神通数据库Oscar\n ")]),t._v(" "),n("li",[t._v("国产南大通用数据库GBase8a\n ")]),t._v(" "),n("li",[t._v("Apache Hive\n ")]),t._v(" "),n("li",[t._v("Apache Doris\n ")]),t._v(" "),n("li",[t._v("SQLite3\n ")]),t._v(" "),n("li",[t._v("OpenGuass\n ")]),t._v(" "),n("li",[t._v("ClickHouse\n ")]),t._v(" "),n("li",[t._v("StarRocks\n ")]),t._v(" "),n("li",[t._v("OceanBase\n ")]),t._v(" "),n("li",[t._v("TDengine\n ")])])])])],1)]),t._v(" "),n("el-tab-pane",{attrs:{label:"开发技术栈",name:"third"}},[n("div",{staticClass:"content_tag"},[n("el-tag",{attrs:{type:"success"}},[t._v("SpringBoot")]),t._v(" "),n("el-tag",{attrs:{type:"danger"}},[t._v("SpringCloud")]),t._v(" "),n("el-tag",{attrs:{type:"success"}},[t._v("Mybatis")]),t._v(" "),n("el-tag",{attrs:{type:"danger"}},[t._v("Vue/ElementUI")])],1),t._v(" "),n("div",{staticClass:"content_card"},[n("el-card",{staticClass:"box-card"},[n("div",{staticClass:"text item"},[n("p",[t._v("\n sqlrest基于Springboot脚手架进行的后端模块开发,模块组成结构如下:\n "),n("pre",[t._v(" └── sqlrest\n ├── sqlrest-common // sqlrest通用定义模块\n ├── sqlrest-mcp // sqlrest的MCP协议模块\n ├── sqlrest-template // sqlrest的SQL内容模板模块\n ├── sqlrest-persistence // sqlrest的数据库持久化模块\n ├── sqlrest-core // sqlrest-core的接口实现模块\n ├── sqlrest-gateway // Gateway网关节点\n ├── sqlrest-executor // Executor接口执行节点\n ├── sqlrest-manager // Manager管理节点\n ├── sqlrest-manager-ui // 基于Vue2的Manager前段WEB交互页面\n ├── sqlrest-dist // 基于maven-assembly-plugin插件的项目打包模块\n ")])]),t._v(" "),n("ul",[n("li",[t._v("SpringBoot")]),t._v(" "),n("p",[t._v("\n sqlrest基于SpringBoot作为项目的基础脚手架。\n ")]),t._v(" "),n("p",[t._v("\n sqlrest-gateway/sqlrest-executor/sqlrest-manager基于SpringCloud的微服务架构提供接口配置与访问功能。\n ")]),t._v(" "),n("li",[t._v("MyBatis")]),t._v(" "),n("p",[t._v("\n MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。\n ")]),n("p",[t._v("\n sqlrest-persistence模块基于Mybatis/Mybatis-plus提供配置数据的持久化。\n ")]),t._v(" "),n("li",[t._v("Vue/ElementUI")]),t._v(" "),n("p",[t._v("\n Vue是一套用于构建用户界面的渐进式JavaScript框架。 Element是饿了么团队基于MVVM框架Vue开源出来的一套前端基于Vue 2.0的桌面端组件库。\n ")]),t._v(" "),n("p",[t._v("\n sqlrest-manager-ui模块基于Vue和ElementUI提供可视化的操作WEB界面。\n ")])])])])],1)])],1)],1)},staticRenderFns:[]};var r=n("VU/8")(a,s,!1,function(t){n("TkYE")},"data-v-a7fe75cc",null);e.default=r.exports},ASLc:function(t,e){},BQ5I:function(t,e){t.exports="data:image/jpeg;base64,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"},GWYl:function(t,e){},TkYE:function(t,e){},Yuwj:function(t,e){},"lv/T":function(t,e){},mWqL:function(t,e){},z9t0:function(t,e){}});
//# sourceMappingURL=1.3d620b6c7ae0e58281bc.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/components/asideBar/asideBarItem.vue","webpack:///./src/components/asideBar/asideBarItem.vue?5e90","webpack:///./src/components/asideBar/asideBarItem.vue","webpack:///src/components/asideBar/asideBar.vue","webpack:///./src/components/asideBar/asideBar.vue?3399","webpack:///./src/components/asideBar/asideBar.vue","webpack:///./src/components/breadcrumb/index.vue?cf18","webpack:///./src/components/breadcrumb/index.vue","webpack:///src/components/userDropdown/index.vue","webpack:///./src/components/userDropdown/index.vue?61d3","webpack:///./src/components/userDropdown/index.vue","webpack:///./src/views/viewer.vue?508d","webpack:///./src/views/viewer.vue","webpack:///src/views/layout.vue","webpack:///src/components/breadcrumb/index.vue","webpack:///src/views/viewer.vue","webpack:///./src/views/layout.vue?0d9b","webpack:///./src/views/layout.vue","webpack:///./src/assets/logo.png","webpack:///src/views/aboutme/readme.vue","webpack:///./src/views/aboutme/readme.vue?8346","webpack:///./src/views/aboutme/readme.vue","webpack:///./src/assets/user.jpg"],"names":["asideBarItem","name","props","router","type","Object","components","data","computed","watch","methods","hasChildrenAndShow","hidden","hasOwnProperty","saveActivePath","path","this","$emit","created","mounted","asideBar_asideBarItem","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","index","slot","class","icon","_v","_s","_l","child","childKey","key","on","click","$event","staticRenderFns","asideBar","__webpack_require__","normalizeComponent","ssrContext","collapsed","initActivePath","routers","$router","options","routes","children","showBarItem","handleOpen","keyPath","handleClose","updateCollapse","collapse","setActivePath","window","sessionStorage","setItem","getActivePath","getItem","asideBar_asideBar","span","unique-opened","background-color","text-color","active-text-color","default-active","open","close","_e","components_breadcrumb","separator-class","item","redirect","levelList","length","to","userDropdown","username","nickname","version","hadleLogout","clear","$http","method","url","push","destroyed","components_userDropdown","size","src","alt","solt","divided","views_viewer","layout","asideBar_normalizeComponent","breadcrumb","breadcrumb_normalizeComponent","getBreadcrumb","$route","matched","filter","userDropdown_normalizeComponent","viewMain","viewer_normalizeComponent","title","isCollapse","handleToggleCollapse","status","$refs","views_layout","width","ref","layout_Component","layout_normalizeComponent","__webpack_exports__","module","exports","p","readme","activeName","handleClick","tab","event","aboutme_readme","tab-click","model","value","callback","$$v","expression","label","href","Component"],"mappings":"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","file":"static/js/1.3d620b6c7ae0e58281bc.js","sourcesContent":["<template>\r\n <div class=\"asideBarItem-container\">\r\n <!-- 如果hasOwnProperty监测有children 就循环递归展示-->\r\n <el-submenu :index=\"router.path\" v-if=\"hasChildrenAndShow(router)\">\r\n <template slot=\"title\">\r\n <i :class=\"router.icon\"></i>\r\n <span slot=\"title\">{{router.name}}</span>\r\n </template>\r\n <!--递归子孙导航-->\r\n <asideBarItem v-for=\"(child, childKey) in router.children\" :key=\"child.path\" :router=\"child\"></asideBarItem>\r\n </el-submenu>\r\n <!-- 如果没有 就展示一级导航 -->\r\n <el-menu-item v-else :key=\"router.path\" :index=\"router.path\" @click=\"saveActivePath(router.path)\">\r\n <i :class=\"router.icon\"></i>\r\n <span>{{router.name}}</span>\r\n </el-menu-item>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n//hasOwnProperty可以用来检测一个对象是否含有特定的自身属性\r\nexport default {\r\n name: \"asideBarItem\",\r\n props: {\r\n router: {\r\n type: Object\r\n },\r\n },\r\n components: {},\r\n data() {\r\n return {\r\n };\r\n },\r\n computed: {\r\n // router () {\r\n // return this.$router.options.routes\r\n // }\r\n },\r\n watch: {},\r\n methods: {\r\n hasChildrenAndShow(router){\r\n if(router.hidden){\r\n return false\r\n }\r\n\r\n return router.hasOwnProperty('children');\r\n },\r\n saveActivePath(path) {\r\n //alert(path);\r\n this.$emit('setActivePath',path);\r\n },\r\n },\r\n created() {\r\n },\r\n mounted() {}\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-menu-item.is-active {\r\n background-color: #1890ff !important;\r\n}\r\n\r\n/*隐藏文字*/\r\n.el-menu--collapse .asideBarItem-container span{\r\n display: none;\r\n}\r\n/*隐藏 > */\r\n.el-menu--collapse .asideBarItem-container .el-submenu__title .el-submenu__icon-arrow{\r\n display: none;\r\n}\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/asideBar/asideBarItem.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"asideBarItem-container\"},[(_vm.hasChildrenAndShow(_vm.router))?_c('el-submenu',{attrs:{\"index\":_vm.router.path}},[_c('template',{slot:\"title\"},[_c('i',{class:_vm.router.icon}),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.router.name))])]),_vm._v(\" \"),_vm._l((_vm.router.children),function(child,childKey){return _c('asideBarItem',{key:child.path,attrs:{\"router\":child}})})],2):_c('el-menu-item',{key:_vm.router.path,attrs:{\"index\":_vm.router.path},on:{\"click\":function($event){return _vm.saveActivePath(_vm.router.path)}}},[_c('i',{class:_vm.router.icon}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.router.name))])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-645f620a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/asideBar/asideBarItem.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-645f620a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./asideBarItem.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBarItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBarItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-645f620a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./asideBarItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-645f620a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/asideBar/asideBarItem.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"aside-container\">\r\n <el-row class=\"tac\">\r\n <el-col :span=\"24\">\r\n <!-- 整体左侧导航 -->\r\n <el-menu\r\n :router=\"true\"\r\n unique-opened\r\n @open=\"handleOpen\"\r\n @close=\"handleClose\"\r\n background-color=\"#001529\"\r\n text-color=\"rgb(191, 203, 217)\"\r\n active-text-color=\"#ffffff\"\r\n :collapse=\"collapsed\"\r\n :default-active=\"initActivePath\"\r\n >\r\n <!-- 左侧导航栏抽取循环部分 将路由列表传给子组件-->\r\n <asideBarItem v-for=\"router in routers\" :router=\"router\" v-if=\"showBarItem(router)\" @setActivePath='setActivePath' :key=\"router.path\"></asideBarItem>\r\n </el-menu>\r\n </el-col>\r\n </el-row>\r\n </div>\r\n</template>\r\n \r\n<script>\r\nimport asideBarItem from \"@/components/asideBar/asideBarItem\";\r\nexport default {\r\n name: \"asideBar\",\r\n components: {\r\n asideBarItem\r\n },\r\n data() {\r\n return {\r\n collapsed:false,\r\n initActivePath:'/dashboard'\r\n };\r\n },\r\n computed: {\r\n routers() {\r\n //console.log(this.$router.options);\r\n //this.$router.options获取路由列表\r\n return this.$router.options.routes[0].children;\r\n },\r\n },\r\n watch: {},\r\n methods: {\r\n showBarItem(router){\r\n if(router.hidden){\r\n return false\r\n }\r\n\r\n return true;\r\n },\r\n handleOpen(key, keyPath) {\r\n //点击打开时当前的路径\r\n //console.log(key, keyPath, 'handleOpen');\r\n },\r\n handleClose(key, keyPath) {\r\n //console.log(key, keyPath, 'handleClose');\r\n },\r\n updateCollapse(collapse){\r\n this.collapsed=collapse;\r\n //console.log(\"==========\"+this.isCollapse);\r\n },\r\n setActivePath(path){\r\n this.initActivePath=path;\r\n window.sessionStorage.setItem(\"activePath\", path);\r\n //console.log(\"update active path \"+this.initActivePath);\r\n },\r\n getActivePath(){\r\n return window.sessionStorage.getItem(\"activePath\");\r\n }\r\n },\r\n created() {\r\n this.initActivePath = this.getActivePath();\r\n //console.log(\"init active path \"+this.initActivePath);\r\n },\r\n mounted() {\r\n // console.log(this.$router.options.routes[1])\r\n }\r\n};\r\n</script>\r\n \r\n <style scoped>\r\n.aside-container {\r\n padding-top: 2px;\r\n}\r\n\r\n.el-menu {\r\n padding: 0;\r\n border-right: none;\r\n}\r\n\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/asideBar/asideBar.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-container\"},[_c('el-row',{staticClass:\"tac\"},[_c('el-col',{attrs:{\"span\":24}},[_c('el-menu',{attrs:{\"router\":true,\"unique-opened\":\"\",\"background-color\":\"#001529\",\"text-color\":\"rgb(191, 203, 217)\",\"active-text-color\":\"#ffffff\",\"collapse\":_vm.collapsed,\"default-active\":_vm.initActivePath},on:{\"open\":_vm.handleOpen,\"close\":_vm.handleClose}},_vm._l((_vm.routers),function(router){return (_vm.showBarItem(router))?_c('asideBarItem',{key:router.path,attrs:{\"router\":router},on:{\"setActivePath\":_vm.setActivePath}}):_vm._e()}),1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1dde93fa\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/asideBar/asideBar.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1dde93fa\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./asideBar.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBar.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBar.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1dde93fa\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./asideBar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1dde93fa\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/asideBar/asideBar.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-breadcrumb',{staticClass:\"app-breadcrumb\",attrs:{\"separator-class\":\"el-icon-arrow-right\"}},[_c('transition-group',_vm._l((_vm.levelList),function(item,index){return (item.name)?_c('el-breadcrumb-item',{key:item.path},[(item.redirect===\"noredirect\"||index==_vm.levelList.length-1)?_c('span',{staticClass:\"no-redirect\"},[_vm._v(_vm._s(item.name))]):_c('router-link',{attrs:{\"to\":item.redirect||item.path}},[_vm._v(_vm._s(item.name))])],1):_vm._e()}),1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a2157ea2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a2157ea2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a2157ea2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a2157ea2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"user-dropdown-wrap\">\r\n <el-dropdown>\r\n <div class=\"user-dropdown-photo\">\r\n 当前版本号:\r\n <el-tag size=\"medium\">{{ version }}</el-tag>\r\n <span class=\"user-dropdown-text\">\r\n {{ nickname }}({{username}})\r\n <i class=\"el-icon-caret-bottom\"></i>\r\n </span>\r\n <img src=\"../../assets/user.jpg\"\r\n alt=\"user\" />\r\n </div>\r\n <el-dropdown-menu solt=\"dropdown\">\r\n <el-dropdown-item>\r\n <router-link to=\"/user/self\">\r\n <i class=\"el-icon-s-custom\"></i>个人信息\r\n </router-link>\r\n </el-dropdown-item>\r\n <el-dropdown-item divided>\r\n <a @click=\"hadleLogout()\">\r\n <i class=\"el-icon-switch-button\"></i>退出登录\r\n </a>\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data () {\r\n return {\r\n username: \"\",\r\n nickname: \"\",\r\n version: \"1.0.0\"\r\n };\r\n },\r\n created () {\r\n this.username = window.sessionStorage.getItem(\"username\");\r\n this.nickname = window.sessionStorage.getItem(\"realname\");\r\n this.version = window.sessionStorage.getItem(\"version\");\r\n },\r\n methods: {\r\n hadleLogout () {\r\n window.sessionStorage.clear();\r\n this.$http({\r\n method: 'GET',\r\n url: '/user/logout'\r\n }),\r\n this.$router.push(\"/login\");\r\n }\r\n },\r\n destroyed () {\r\n window.sessionStorage.setItem(\"activePath\", \"/\");\r\n }\r\n};\r\n</script>\r\n<style scoped>\r\n.user-dropdown-wrap {\r\n height: 60px;\r\n padding: 10px 0;\r\n float: right;\r\n}\r\n\r\n.user-dropdown-wrap .user-dropdown-photo img {\r\n width: 30px;\r\n height: 30px;\r\n vertical-align: middle;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/userDropdown/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-dropdown-wrap\"},[_c('el-dropdown',[_c('div',{staticClass:\"user-dropdown-photo\"},[_vm._v(\"\\n 当前版本号:\\n \"),_c('el-tag',{attrs:{\"size\":\"medium\"}},[_vm._v(_vm._s(_vm.version))]),_vm._v(\" \"),_c('span',{staticClass:\"user-dropdown-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.nickname)+\"(\"+_vm._s(_vm.username)+\")\\n \"),_c('i',{staticClass:\"el-icon-caret-bottom\"})]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"../../assets/user.jpg\"),\"alt\":\"user\"}})],1),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"solt\":\"dropdown\"}},[_c('el-dropdown-item',[_c('router-link',{attrs:{\"to\":\"/user/self\"}},[_c('i',{staticClass:\"el-icon-s-custom\"}),_vm._v(\"个人信息\\n \")])],1),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"}},[_c('a',{on:{\"click\":function($event){return _vm.hadleLogout()}}},[_c('i',{staticClass:\"el-icon-switch-button\"}),_vm._v(\"退出登录\\n \")])])],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-72485615\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userDropdown/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-72485615\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72485615\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-72485615\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userDropdown/index.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"viewer-container\"},[_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7b74460c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/viewer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7b74460c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./viewer.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./viewer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./viewer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7b74460c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./viewer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7b74460c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/viewer.vue\n// module id = null\n// module chunks = ","<template>\r\n <el-container class=\"index-container\">\r\n <el-aside :width=\"isCollapse?'64px':'250px'\">\r\n <!-- 左侧LOGO -->\r\n <div class=\"title\">\r\n <img src=\"../assets/logo.png\" />\r\n <span class=\"title-text\"\r\n v-if=\"!isCollapse\">{{title}}</span>\r\n </div>\r\n <!-- 左侧导航菜单 -->\r\n <asideBar ref=\"asideBar\"></asideBar>\r\n </el-aside>\r\n <el-main>\r\n <el-header>\r\n <!-- 折叠图标 -->\r\n <div @click=\"handleToggleCollapse\"\r\n class=\"collapse\">\r\n <i class=\"el-icon-s-unfold\"\r\n v-if=\"isCollapse\"></i>\r\n <i class=\"el-icon-s-fold\"\r\n v-else></i>\r\n </div>\r\n\r\n <!-- 面包屑导航 -->\r\n <breadcrumb></breadcrumb>\r\n <userDropdown></userDropdown>\r\n </el-header>\r\n\r\n <!-- 右侧显示区域 -->\r\n <viewMain></viewMain>\r\n </el-main>\r\n </el-container>\r\n</template>\r\n\r\n<script>\r\nimport asideBar from \"@/components/asideBar/asideBar\";\r\nimport breadcrumb from \"@/components/breadcrumb/index\";\r\nimport userDropdown from \"@/components/userDropdown/index\"\r\nimport viewMain from \"@/views/viewer\";\r\n\r\nexport default {\r\n name: \"home\",\r\n components: {\r\n asideBar,\r\n breadcrumb,\r\n userDropdown,\r\n viewMain\r\n },\r\n data () {\r\n return {\r\n title: \"SQLREST\",\r\n isCollapse: null\r\n };\r\n },\r\n computed: {},\r\n watch: {},\r\n methods: {\r\n handleToggleCollapse () {\r\n let status = !this.isCollapse;\r\n this.isCollapse = status;\r\n this.$refs.asideBar.updateCollapse(status);\r\n }\r\n },\r\n created () {\r\n },\r\n mounted () { }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.index-container {\r\n height: 100%;\r\n}\r\n\r\n.el-aside {\r\n float: left;\r\n background: #002140;\r\n color: #333;\r\n text-align: left;\r\n}\r\n\r\n.el-aside .title {\r\n height: 60px;\r\n background: #001529;\r\n line-height: 64px;\r\n background: #002140;\r\n text-align: center;\r\n}\r\n\r\n.el-aside .title img {\r\n width: 50px;\r\n height: 50px;\r\n vertical-align: middle;\r\n}\r\n\r\n.el-aside .title .title-text {\r\n color: #fff;\r\n font-weight: 600;\r\n font-size: 20px;\r\n vertical-align: middle;\r\n}\r\n\r\n.el-header {\r\n padding: 0px;\r\n color: #ffffff;\r\n width: 100%;\r\n background: #fff;\r\n}\r\n\r\n.el-header .collapse {\r\n float: left;\r\n padding-left: 2px;\r\n font-size: 22px;\r\n color: #838383;\r\n margin-top: 10px;\r\n margin-right: 20px;\r\n cursor: pointer;\r\n}\r\n\r\n.el-main {\r\n padding: 0px;\r\n float: left;\r\n background-color: #eaedf1;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/layout.vue","<template>\r\n <el-breadcrumb class=\"app-breadcrumb\" separator-class=\"el-icon-arrow-right\">\r\n <transition-group>\r\n <el-breadcrumb-item v-for=\"(item,index) in levelList\" :key=\"item.path\" v-if=\"item.name\">\r\n <span v-if='item.redirect===\"noredirect\"||index==levelList.length-1' class=\"no-redirect\">{{item.name}}</span>\r\n <router-link v-else :to=\"item.redirect||item.path\">{{item.name}}</router-link>\r\n </el-breadcrumb-item>\r\n </transition-group>\r\n </el-breadcrumb>\r\n</template>\r\n\r\n<!-- 参考教程:https://www.cnblogs.com/yangguoe/p/9406032.html -->\r\n<script>\r\nexport default {\r\n name: \"breadcrumb\",\r\n data() {\r\n return {\r\n levelList: []\r\n };\r\n },\r\n created() {\r\n this.getBreadcrumb();\r\n },\r\n watch: {\r\n $route() {\r\n this.getBreadcrumb();\r\n }\r\n },\r\n methods: {\r\n getBreadcrumb() {\r\n let matched = this.$route.matched.filter(item => item.name); //$route.matched 将会是一个包含从上到下的所有对象 (副本)。\r\n this.levelList = matched;\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-header .el-breadcrumb {\r\n float: left;\r\n margin: 18px 0 0 20px;\r\n}\r\n\r\n.app-breadcrumb .el-breadcrumb .no-redirect {\r\n color: #97a8be;\r\n cursor: text;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/breadcrumb/index.vue","<template>\r\n <div class=\"viewer-container\">\r\n <router-view></router-view>\r\n </div>\r\n</template>\r\n \r\n<script>\r\nexport default {\r\n name: \"viewer\",\r\n components: {},\r\n data () {\r\n return {};\r\n },\r\n computed: {},\r\n watch: {},\r\n methods: {},\r\n created () { },\r\n mounted () { }\r\n};\r\n</script>\r\n \r\n<style scoped>\r\n.viewer-container {\r\n padding-top: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/viewer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"index-container\"},[_c('el-aside',{attrs:{\"width\":_vm.isCollapse?'64px':'250px'}},[_c('div',{staticClass:\"title\"},[_c('img',{attrs:{\"src\":require(\"../assets/logo.png\")}}),_vm._v(\" \"),(!_vm.isCollapse)?_c('span',{staticClass:\"title-text\"},[_vm._v(_vm._s(_vm.title))]):_vm._e()]),_vm._v(\" \"),_c('asideBar',{ref:\"asideBar\"})],1),_vm._v(\" \"),_c('el-main',[_c('el-header',[_c('div',{staticClass:\"collapse\",on:{\"click\":_vm.handleToggleCollapse}},[(_vm.isCollapse)?_c('i',{staticClass:\"el-icon-s-unfold\"}):_c('i',{staticClass:\"el-icon-s-fold\"})]),_vm._v(\" \"),_c('breadcrumb'),_vm._v(\" \"),_c('userDropdown')],1),_vm._v(\" \"),_c('viewMain')],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4972070e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/layout.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4972070e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./layout.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./layout.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./layout.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4972070e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./layout.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4972070e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/layout.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/logo.a674d30.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/logo.png\n// module id = 7Otq\n// module chunks = 1 2","<template>\n <div>\n <h3>关于SQLREST工具</h3>\n <el-tabs v-model=\"activeName\"\n @tab-click=\"handleClick()\">\n <el-tab-pane label=\"系统功能\"\n name=\"first\">\n <div class=\"content_tag\">\n <el-tag type=\"danger\">SQL接口</el-tag>\n <el-tag type=\"success\">脚本接口</el-tag>\n </div>\n <div class=\"content_card\">\n <el-card class=\"box-card\">\n <div class=\"text item\">\n <p>\n 一句话,sqlrest工具提供快速构建RESTful的<B>API接口</B>工具,包括SQl方式和脚本方式。功能包括:\n </p>\n <ul>\n <li>项目托管</li>\n <p>\n Gitee地址:<a href=\"https://gitee.com/inrgihc/sqlrest\">https://gitee.com/inrgihc/sqlrest</a>\n </p>\n <li>SQL方式构建RESTful接口</li>\n <p>\n 提供类似mybatis的动态SQL语法方式构建接口。\n </p>\n <li>脚本方式构建RESTful接口</li>\n <p>\n 基于groovy脚本的语法方式构建复杂场景下的接口。\n </p>\n <li>支持接口的token安全认证功能</li>\n <p>\n 执行器支持生成token及token认证。\n </p>\n <li>支持生成在线接口文档功能</li>\n <p>\n 基于swagger-ui提供生成在线接口文档功能。\n </p>\n <li>支持接口的流量控制功能</li>\n <p>\n 执行器基于sentinel支持接口的流量控制功能。\n </p>\n <li>支持接口的缓存配置功能</li>\n <p>\n 执行器支持哈希及SpEL表达式方式配置缓存功能。\n </p>\n <li>支持将接口转换为MCP工具功能</li>\n <p>\n Manager支持作为MCP服务端提供Tool功能。\n </p>\n </ul>\n </div>\n </el-card>\n </div>\n </el-tab-pane>\n <el-tab-pane label=\"关系数据库\"\n name=\"second\">\n <div class=\"content_tag\">\n <el-tag type=\"success\">JDBC</el-tag>\n <el-tag type=\"danger\">sqlrest</el-tag>\n </div>\n <div class=\"content_card\">\n <el-card class=\"box-card\">\n <div class=\"text item\">\n <p>\n sqlrest配置支持的常规关系数据库有20+,包括:\n </p>\n <ul>\n <li>甲骨文的Oracle\n </li>\n <li>MySQL\n </li>\n <li>MariaDB\n </li>\n <li>微软的Microsoft SQLServer\n </li>\n <li>PostgreSQL/Greenplum\n </li>\n <li>IBM的DB2\n </li>\n <li>Sybase数据库\n </li>\n <li>国产达梦数据库DMDB\n </li>\n <li>国产人大金仓数据库Kingbase8\n </li>\n <li>国产翰高数据库HighGo\n </li>\n <li>国产神通数据库Oscar\n </li>\n <li>国产南大通用数据库GBase8a\n </li>\n <li>Apache Hive\n </li>\n <li>Apache Doris\n </li>\n <li>SQLite3\n </li>\n <li>OpenGuass\n </li>\n <li>ClickHouse\n </li>\n <li>StarRocks\n </li>\n <li>OceanBase\n </li>\n <li>TDengine\n </li>\n </ul>\n </div>\n </el-card>\n </div>\n </el-tab-pane>\n <el-tab-pane label=\"开发技术栈\"\n name=\"third\">\n <div class=\"content_tag\">\n <el-tag type=\"success\">SpringBoot</el-tag>\n <el-tag type=\"danger\">SpringCloud</el-tag>\n <el-tag type=\"success\">Mybatis</el-tag>\n <el-tag type=\"danger\">Vue/ElementUI</el-tag>\n </div>\n <div class=\"content_card\">\n <el-card class=\"box-card\">\n <div class=\"text item\">\n <p>\n sqlrest基于Springboot脚手架进行的后端模块开发,模块组成结构如下:\n <pre>\n └── sqlrest\n ├── sqlrest-common // sqlrest通用定义模块\n ├── sqlrest-mcp // sqlrest的MCP协议模块\n ├── sqlrest-template // sqlrest的SQL内容模板模块\n ├── sqlrest-persistence // sqlrest的数据库持久化模块\n ├── sqlrest-core // sqlrest-core的接口实现模块\n ├── sqlrest-gateway // Gateway网关节点\n ├── sqlrest-executor // Executor接口执行节点\n ├── sqlrest-manager // Manager管理节点\n ├── sqlrest-manager-ui // 基于Vue2的Manager前段WEB交互页面\n ├── sqlrest-dist // 基于maven-assembly-plugin插件的项目打包模块\n </pre>\n </p>\n <ul>\n <li>SpringBoot</li>\n <p>\n sqlrest基于SpringBoot作为项目的基础脚手架。\n </p>\n <p>\n sqlrest-gateway/sqlrest-executor/sqlrest-manager基于SpringCloud的微服务架构提供接口配置与访问功能。\n </p>\n <li>MyBatis</li>\n <p>\n MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。\n <p>\n sqlrest-persistence模块基于Mybatis/Mybatis-plus提供配置数据的持久化。\n </p>\n <li>Vue/ElementUI</li>\n <p>\n Vue是一套用于构建用户界面的渐进式JavaScript框架。 Element是饿了么团队基于MVVM框架Vue开源出来的一套前端基于Vue 2.0的桌面端组件库。\n </p>\n <p>\n sqlrest-manager-ui模块基于Vue和ElementUI提供可视化的操作WEB界面。\n </p>\n </ul>\n </div>\n </el-card>\n </div>\n </el-tab-pane>\n\n </el-tabs>\n </div>\n</template>\n\n<script>\nimport layout from '../layout.vue';\nexport default {\n components: { layout },\n data () {\n return {\n activeName: 'first'\n };\n },\n methods: {\n handleClick (tab, event) {\n //console.log(tab, event);\n }\n }\n}\n</script>\n\n<style scoped>\ndiv h3 {\n text-align: center;\n}\n\n.content_tag {\n text-align: center;\n}\n\n.content_card {\n padding-top: 20px;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/views/aboutme/readme.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_vm._v(\"关于SQLREST工具\")]),_vm._v(\" \"),_c('el-tabs',{on:{\"tab-click\":function($event){return _vm.handleClick()}},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"系统功能\",\"name\":\"first\"}},[_c('div',{staticClass:\"content_tag\"},[_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(\"SQL接口\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(\"脚本接口\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"content_card\"},[_c('el-card',{staticClass:\"box-card\"},[_c('div',{staticClass:\"text item\"},[_c('p',[_vm._v(\"\\n 一句话,sqlrest工具提供快速构建RESTful的\"),_c('B',[_vm._v(\"API接口\")]),_vm._v(\"工具,包括SQl方式和脚本方式。功能包括:\\n \")],1),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"项目托管\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Gitee地址:\"),_c('a',{attrs:{\"href\":\"https://gitee.com/inrgihc/sqlrest\"}},[_vm._v(\"https://gitee.com/inrgihc/sqlrest\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"SQL方式构建RESTful接口\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 提供类似mybatis的动态SQL语法方式构建接口。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"脚本方式构建RESTful接口\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 基于groovy脚本的语法方式构建复杂场景下的接口。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持接口的token安全认证功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 执行器支持生成token及token认证。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持生成在线接口文档功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 基于swagger-ui提供生成在线接口文档功能。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持接口的流量控制功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 执行器基于sentinel支持接口的流量控制功能。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持接口的缓存配置功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 执行器支持哈希及SpEL表达式方式配置缓存功能。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持将接口转换为MCP工具功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Manager支持作为MCP服务端提供Tool功能。\\n \")])])])])],1)]),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"关系数据库\",\"name\":\"second\"}},[_c('div',{staticClass:\"content_tag\"},[_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(\"JDBC\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(\"sqlrest\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"content_card\"},[_c('el-card',{staticClass:\"box-card\"},[_c('div',{staticClass:\"text item\"},[_c('p',[_vm._v(\"\\n sqlrest配置支持的常规关系数据库有20+,包括:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"甲骨文的Oracle\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"MySQL\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"MariaDB\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"微软的Microsoft SQLServer\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"PostgreSQL/Greenplum\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"IBM的DB2\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sybase数据库\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产达梦数据库DMDB\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产人大金仓数据库Kingbase8\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产翰高数据库HighGo\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产神通数据库Oscar\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产南大通用数据库GBase8a\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Apache Hive\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Apache Doris\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"SQLite3\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"OpenGuass\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"ClickHouse\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"StarRocks\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"OceanBase\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"TDengine\\n \")])])])])],1)]),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"开发技术栈\",\"name\":\"third\"}},[_c('div',{staticClass:\"content_tag\"},[_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(\"SpringBoot\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(\"SpringCloud\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(\"Mybatis\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(\"Vue/ElementUI\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"content_card\"},[_c('el-card',{staticClass:\"box-card\"},[_c('div',{staticClass:\"text item\"},[_c('p',[_vm._v(\"\\n sqlrest基于Springboot脚手架进行的后端模块开发,模块组成结构如下:\\n \"),_c('pre',[_vm._v(\" └── sqlrest\\n ├── sqlrest-common // sqlrest通用定义模块\\n ├── sqlrest-mcp // sqlrest的MCP协议模块\\n ├── sqlrest-template // sqlrest的SQL内容模板模块\\n ├── sqlrest-persistence // sqlrest的数据库持久化模块\\n ├── sqlrest-core // sqlrest-core的接口实现模块\\n ├── sqlrest-gateway // Gateway网关节点\\n ├── sqlrest-executor // Executor接口执行节点\\n ├── sqlrest-manager // Manager管理节点\\n ├── sqlrest-manager-ui // 基于Vue2的Manager前段WEB交互页面\\n ├── sqlrest-dist // 基于maven-assembly-plugin插件的项目打包模块\\n \")])]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"SpringBoot\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n sqlrest基于SpringBoot作为项目的基础脚手架。\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n sqlrest-gateway/sqlrest-executor/sqlrest-manager基于SpringCloud的微服务架构提供接口配置与访问功能。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"MyBatis\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。\\n \")]),_c('p',[_vm._v(\"\\n sqlrest-persistence模块基于Mybatis/Mybatis-plus提供配置数据的持久化。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Vue/ElementUI\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Vue是一套用于构建用户界面的渐进式JavaScript框架。 Element是饿了么团队基于MVVM框架Vue开源出来的一套前端基于Vue 2.0的桌面端组件库。\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n sqlrest-manager-ui模块基于Vue和ElementUI提供可视化的操作WEB界面。\\n \")])])])])],1)])],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a7fe75cc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/aboutme/readme.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a7fe75cc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./readme.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./readme.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./readme.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a7fe75cc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./readme.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a7fe75cc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/aboutme/readme.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/jpeg;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/user.jpg\n// module id = BQ5I\n// module chunks = 1 2"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([1,2],{"4er+":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a={name:"asideBarItem",props:{router:{type:Object}},components:{},data:function(){return{}},computed:{},watch:{},methods:{hasChildrenAndShow:function(t){return!t.hidden&&t.hasOwnProperty("children")},saveActivePath:function(t){this.$emit("setActivePath",t)}},created:function(){},mounted:function(){}},s={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"asideBarItem-container"},[t.hasChildrenAndShow(t.router)?n("el-submenu",{attrs:{index:t.router.path}},[n("template",{slot:"title"},[n("i",{class:t.router.icon}),t._v(" "),n("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(t.router.name))])]),t._v(" "),t._l(t.router.children,function(t,e){return n("asideBarItem",{key:t.path,attrs:{router:t}})})],2):n("el-menu-item",{key:t.router.path,attrs:{index:t.router.path},on:{click:function(e){return t.saveActivePath(t.router.path)}}},[n("i",{class:t.router.icon}),t._v(" "),n("span",[t._v(t._s(t.router.name))])])],1)},staticRenderFns:[]};var r={name:"asideBar",components:{asideBarItem:n("VU/8")(a,s,!1,function(t){n("ASLc")},"data-v-645f620a",null).exports},data:function(){return{collapsed:!1,initActivePath:"/dashboard"}},computed:{routers:function(){return this.$router.options.routes[0].children}},watch:{},methods:{showBarItem:function(t){return!t.hidden},handleOpen:function(t,e){},handleClose:function(t,e){},updateCollapse:function(t){this.collapsed=t},setActivePath:function(t){this.initActivePath=t,window.sessionStorage.setItem("activePath",t)},getActivePath:function(){return window.sessionStorage.getItem("activePath")}},created:function(){this.initActivePath=this.getActivePath()},mounted:function(){}},i={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"aside-container"},[n("el-row",{staticClass:"tac"},[n("el-col",{attrs:{span:24}},[n("el-menu",{attrs:{router:!0,"unique-opened":"","background-color":"#001529","text-color":"rgb(191, 203, 217)","active-text-color":"#ffffff",collapse:t.collapsed,"default-active":t.initActivePath},on:{open:t.handleOpen,close:t.handleClose}},t._l(t.routers,function(e){return t.showBarItem(e)?n("asideBarItem",{key:e.path,attrs:{router:e},on:{setActivePath:t.setActivePath}}):t._e()}),1)],1)],1)],1)},staticRenderFns:[]};var l={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{"separator-class":"el-icon-arrow-right"}},[n("transition-group",t._l(t.levelList,function(e,a){return e.name?n("el-breadcrumb-item",{key:e.path},["noredirect"===e.redirect||a==t.levelList.length-1?n("span",{staticClass:"no-redirect"},[t._v(t._s(e.name))]):n("router-link",{attrs:{to:e.redirect||e.path}},[t._v(t._s(e.name))])],1):t._e()}),1)],1)},staticRenderFns:[]};var o={data:function(){return{username:"",nickname:""}},created:function(){this.username=window.sessionStorage.getItem("username"),this.nickname=window.sessionStorage.getItem("realname")},methods:{hadleLogout:function(){window.sessionStorage.clear(),this.$http({method:"GET",url:"/user/logout"}),this.$router.push("/login")}},destroyed:function(){window.sessionStorage.setItem("activePath","/")}},c={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"user-dropdown-wrap"},[a("el-dropdown",[a("div",{staticClass:"user-dropdown-photo"},[a("span",{staticClass:"user-dropdown-text"},[t._v("\n "+t._s(t.nickname)+"("+t._s(t.username)+")\n "),a("i",{staticClass:"el-icon-caret-bottom"})]),t._v(" "),a("img",{attrs:{src:n("BQ5I"),alt:"user"}})]),t._v(" "),a("el-dropdown-menu",{attrs:{solt:"dropdown"}},[a("el-dropdown-item",[a("router-link",{attrs:{to:"/user/self"}},[a("i",{staticClass:"el-icon-s-custom"}),t._v("个人信息\n ")])],1),t._v(" "),a("el-dropdown-item",{attrs:{divided:""}},[a("a",{on:{click:function(e){return t.hadleLogout()}}},[a("i",{staticClass:"el-icon-switch-button"}),t._v("退出登录\n ")])])],1)],1)],1)},staticRenderFns:[]};var u={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"viewer-container"},[e("router-view")],1)},staticRenderFns:[]};var v={name:"home",components:{asideBar:n("VU/8")(r,i,!1,function(t){n("GWYl")},"data-v-1dde93fa",null).exports,breadcrumb:n("VU/8")({name:"breadcrumb",data:function(){return{levelList:[]}},created:function(){this.getBreadcrumb()},watch:{$route:function(){this.getBreadcrumb()}},methods:{getBreadcrumb:function(){var t=this.$route.matched.filter(function(t){return t.name});this.levelList=t}}},l,!1,function(t){n("Yuwj")},"data-v-a2157ea2",null).exports,userDropdown:n("VU/8")(o,c,!1,function(t){n("8vZS")},"data-v-0a6f0f66",null).exports,viewMain:n("VU/8")({name:"viewer",components:{},data:function(){return{}},computed:{},watch:{},methods:{},created:function(){},mounted:function(){}},u,!1,function(t){n("mWqL")},"data-v-7b74460c",null).exports},data:function(){return{title:"SQLREST",isCollapse:null}},computed:{},watch:{},methods:{handleToggleCollapse:function(){var t=!this.isCollapse;this.isCollapse=t,this.$refs.asideBar.updateCollapse(t)}},created:function(){},mounted:function(){}},d={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("el-container",{staticClass:"index-container"},[a("el-aside",{attrs:{width:t.isCollapse?"64px":"250px"}},[a("div",{staticClass:"title"},[a("img",{attrs:{src:n("7Otq")}}),t._v(" "),t.isCollapse?t._e():a("span",{staticClass:"title-text"},[t._v(t._s(t.title))])]),t._v(" "),a("asideBar",{ref:"asideBar"})],1),t._v(" "),a("el-main",[a("el-header",[a("div",{staticClass:"collapse",on:{click:t.handleToggleCollapse}},[t.isCollapse?a("i",{staticClass:"el-icon-s-unfold"}):a("i",{staticClass:"el-icon-s-fold"})]),t._v(" "),a("breadcrumb"),t._v(" "),a("userDropdown")],1),t._v(" "),a("viewMain")],1)],1)},staticRenderFns:[]};var p=n("VU/8")(v,d,!1,function(t){n("z9t0")},"data-v-4972070e",null);e.default=p.exports},"7Otq":function(t,e,n){t.exports=n.p+"static/img/logo.a674d30.png"},"8vZS":function(t,e){},AEfp:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a={components:{layout:n("4er+").default},data:function(){return{activeName:"first"}},methods:{handleClick:function(t,e){}}},s={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("h3",[t._v("关于SQLREST工具")]),t._v(" "),n("el-tabs",{on:{"tab-click":function(e){return t.handleClick()}},model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[n("el-tab-pane",{attrs:{label:"系统功能",name:"first"}},[n("div",{staticClass:"content_tag"},[n("el-tag",{attrs:{type:"danger"}},[t._v("SQL接口")]),t._v(" "),n("el-tag",{attrs:{type:"success"}},[t._v("脚本接口")])],1),t._v(" "),n("div",{staticClass:"content_card"},[n("el-card",{staticClass:"box-card"},[n("div",{staticClass:"text item"},[n("p",[t._v("\n 一句话,sqlrest工具提供快速构建RESTful的"),n("B",[t._v("API接口")]),t._v("工具,包括SQl方式和脚本方式。功能包括:\n ")],1),t._v(" "),n("ul",[n("li",[t._v("项目托管")]),t._v(" "),n("p",[t._v("\n Gitee地址:"),n("a",{attrs:{href:"https://gitee.com/inrgihc/sqlrest"}},[t._v("https://gitee.com/inrgihc/sqlrest")])]),t._v(" "),n("li",[t._v("SQL方式构建RESTful接口")]),t._v(" "),n("p",[t._v("\n 提供类似mybatis的动态SQL语法方式构建接口。\n ")]),t._v(" "),n("li",[t._v("脚本方式构建RESTful接口")]),t._v(" "),n("p",[t._v("\n 基于groovy脚本的语法方式构建复杂场景下的接口。\n ")]),t._v(" "),n("li",[t._v("支持接口的token安全认证功能")]),t._v(" "),n("p",[t._v("\n 执行器支持生成token及token认证。\n ")]),t._v(" "),n("li",[t._v("支持生成在线接口文档功能")]),t._v(" "),n("p",[t._v("\n 基于swagger-ui提供生成在线接口文档功能。\n ")]),t._v(" "),n("li",[t._v("支持接口的流量控制功能")]),t._v(" "),n("p",[t._v("\n 执行器基于sentinel支持接口的流量控制功能。\n ")]),t._v(" "),n("li",[t._v("支持接口的缓存配置功能")]),t._v(" "),n("p",[t._v("\n 执行器支持哈希及SpEL表达式方式配置缓存功能。\n ")]),t._v(" "),n("li",[t._v("支持将接口转换为MCP工具功能")]),t._v(" "),n("p",[t._v("\n Manager支持作为MCP服务端提供Tool功能。\n ")])])])])],1)]),t._v(" "),n("el-tab-pane",{attrs:{label:"关系数据库",name:"second"}},[n("div",{staticClass:"content_tag"},[n("el-tag",{attrs:{type:"success"}},[t._v("JDBC")]),t._v(" "),n("el-tag",{attrs:{type:"danger"}},[t._v("sqlrest")])],1),t._v(" "),n("div",{staticClass:"content_card"},[n("el-card",{staticClass:"box-card"},[n("div",{staticClass:"text item"},[n("p",[t._v("\n sqlrest配置支持的常规关系数据库有20+,包括:\n ")]),t._v(" "),n("ul",[n("li",[t._v("甲骨文的Oracle\n ")]),t._v(" "),n("li",[t._v("MySQL\n ")]),t._v(" "),n("li",[t._v("MariaDB\n ")]),t._v(" "),n("li",[t._v("微软的Microsoft SQLServer\n ")]),t._v(" "),n("li",[t._v("PostgreSQL/Greenplum\n ")]),t._v(" "),n("li",[t._v("IBM的DB2\n ")]),t._v(" "),n("li",[t._v("Sybase数据库\n ")]),t._v(" "),n("li",[t._v("国产达梦数据库DMDB\n ")]),t._v(" "),n("li",[t._v("国产人大金仓数据库Kingbase8\n ")]),t._v(" "),n("li",[t._v("国产翰高数据库HighGo\n ")]),t._v(" "),n("li",[t._v("国产神通数据库Oscar\n ")]),t._v(" "),n("li",[t._v("国产南大通用数据库GBase8a\n ")]),t._v(" "),n("li",[t._v("Apache Hive\n ")]),t._v(" "),n("li",[t._v("Apache Doris\n ")]),t._v(" "),n("li",[t._v("SQLite3\n ")]),t._v(" "),n("li",[t._v("OpenGuass\n ")]),t._v(" "),n("li",[t._v("ClickHouse\n ")]),t._v(" "),n("li",[t._v("StarRocks\n ")]),t._v(" "),n("li",[t._v("OceanBase\n ")]),t._v(" "),n("li",[t._v("TDengine\n ")])])])])],1)]),t._v(" "),n("el-tab-pane",{attrs:{label:"开发技术栈",name:"third"}},[n("div",{staticClass:"content_tag"},[n("el-tag",{attrs:{type:"success"}},[t._v("SpringBoot")]),t._v(" "),n("el-tag",{attrs:{type:"danger"}},[t._v("SpringCloud")]),t._v(" "),n("el-tag",{attrs:{type:"success"}},[t._v("Mybatis")]),t._v(" "),n("el-tag",{attrs:{type:"danger"}},[t._v("Vue/ElementUI")])],1),t._v(" "),n("div",{staticClass:"content_card"},[n("el-card",{staticClass:"box-card"},[n("div",{staticClass:"text item"},[n("p",[t._v("\n sqlrest基于Springboot脚手架进行的后端模块开发,模块组成结构如下:\n "),n("pre",[t._v(" └── sqlrest\n ├── sqlrest-common // sqlrest通用定义模块\n ├── sqlrest-mcp // sqlrest的MCP协议模块\n ├── sqlrest-template // sqlrest的SQL内容模板模块\n ├── sqlrest-persistence // sqlrest的数据库持久化模块\n ├── sqlrest-core // sqlrest-core的接口实现模块\n ├── sqlrest-gateway // Gateway网关节点\n ├── sqlrest-executor // Executor接口执行节点\n ├── sqlrest-manager // Manager管理节点\n ├── sqlrest-manager-ui // 基于Vue2的Manager前段WEB交互页面\n ├── sqlrest-dist // 基于maven-assembly-plugin插件的项目打包模块\n ")])]),t._v(" "),n("ul",[n("li",[t._v("SpringBoot")]),t._v(" "),n("p",[t._v("\n sqlrest基于SpringBoot作为项目的基础脚手架。\n ")]),t._v(" "),n("p",[t._v("\n sqlrest-gateway/sqlrest-executor/sqlrest-manager基于SpringCloud的微服务架构提供接口配置与访问功能。\n ")]),t._v(" "),n("li",[t._v("MyBatis")]),t._v(" "),n("p",[t._v("\n MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。\n ")]),n("p",[t._v("\n sqlrest-persistence模块基于Mybatis/Mybatis-plus提供配置数据的持久化。\n ")]),t._v(" "),n("li",[t._v("Vue/ElementUI")]),t._v(" "),n("p",[t._v("\n Vue是一套用于构建用户界面的渐进式JavaScript框架。 Element是饿了么团队基于MVVM框架Vue开源出来的一套前端基于Vue 2.0的桌面端组件库。\n ")]),t._v(" "),n("p",[t._v("\n sqlrest-manager-ui模块基于Vue和ElementUI提供可视化的操作WEB界面。\n ")])])])])],1)])],1)],1)},staticRenderFns:[]};var r=n("VU/8")(a,s,!1,function(t){n("TkYE")},"data-v-a7fe75cc",null);e.default=r.exports},ASLc:function(t,e){},BQ5I:function(t,e){t.exports="data:image/jpeg;base64,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"},GWYl:function(t,e){},TkYE:function(t,e){},Yuwj:function(t,e){},mWqL:function(t,e){},z9t0:function(t,e){}});
//# sourceMappingURL=1.7acdf4fa190624b33517.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/components/asideBar/asideBarItem.vue","webpack:///./src/components/asideBar/asideBarItem.vue?5e90","webpack:///./src/components/asideBar/asideBarItem.vue","webpack:///src/components/asideBar/asideBar.vue","webpack:///./src/components/asideBar/asideBar.vue?3399","webpack:///./src/components/asideBar/asideBar.vue","webpack:///./src/components/breadcrumb/index.vue?cf18","webpack:///./src/components/breadcrumb/index.vue","webpack:///src/components/userDropdown/index.vue","webpack:///./src/components/userDropdown/index.vue?1aef","webpack:///./src/components/userDropdown/index.vue","webpack:///./src/views/viewer.vue?508d","webpack:///./src/views/viewer.vue","webpack:///src/views/layout.vue","webpack:///src/components/breadcrumb/index.vue","webpack:///src/views/viewer.vue","webpack:///./src/views/layout.vue?0d9b","webpack:///./src/views/layout.vue","webpack:///./src/assets/logo.png","webpack:///src/views/aboutme/readme.vue","webpack:///./src/views/aboutme/readme.vue?8346","webpack:///./src/views/aboutme/readme.vue","webpack:///./src/assets/user.jpg"],"names":["asideBarItem","name","props","router","type","Object","components","data","computed","watch","methods","hasChildrenAndShow","hidden","hasOwnProperty","saveActivePath","path","this","$emit","created","mounted","asideBar_asideBarItem","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","index","slot","class","icon","_v","_s","_l","child","childKey","key","on","click","$event","staticRenderFns","asideBar","__webpack_require__","normalizeComponent","ssrContext","collapsed","initActivePath","routers","$router","options","routes","children","showBarItem","handleOpen","keyPath","handleClose","updateCollapse","collapse","setActivePath","window","sessionStorage","setItem","getActivePath","getItem","asideBar_asideBar","span","unique-opened","background-color","text-color","active-text-color","default-active","open","close","_e","components_breadcrumb","separator-class","item","redirect","levelList","length","to","userDropdown","username","nickname","hadleLogout","clear","$http","method","url","push","destroyed","components_userDropdown","src","alt","solt","divided","views_viewer","layout","asideBar_normalizeComponent","breadcrumb","breadcrumb_normalizeComponent","getBreadcrumb","$route","matched","filter","userDropdown_normalizeComponent","viewMain","viewer_normalizeComponent","title","isCollapse","handleToggleCollapse","status","$refs","views_layout","width","ref","layout_Component","layout_normalizeComponent","__webpack_exports__","module","exports","p","readme","activeName","handleClick","tab","event","aboutme_readme","tab-click","model","value","callback","$$v","expression","label","href","Component"],"mappings":"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","file":"static/js/1.7acdf4fa190624b33517.js","sourcesContent":["<template>\r\n <div class=\"asideBarItem-container\">\r\n <!-- 如果hasOwnProperty监测有children 就循环递归展示-->\r\n <el-submenu :index=\"router.path\" v-if=\"hasChildrenAndShow(router)\">\r\n <template slot=\"title\">\r\n <i :class=\"router.icon\"></i>\r\n <span slot=\"title\">{{router.name}}</span>\r\n </template>\r\n <!--递归子孙导航-->\r\n <asideBarItem v-for=\"(child, childKey) in router.children\" :key=\"child.path\" :router=\"child\"></asideBarItem>\r\n </el-submenu>\r\n <!-- 如果没有 就展示一级导航 -->\r\n <el-menu-item v-else :key=\"router.path\" :index=\"router.path\" @click=\"saveActivePath(router.path)\">\r\n <i :class=\"router.icon\"></i>\r\n <span>{{router.name}}</span>\r\n </el-menu-item>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n//hasOwnProperty可以用来检测一个对象是否含有特定的自身属性\r\nexport default {\r\n name: \"asideBarItem\",\r\n props: {\r\n router: {\r\n type: Object\r\n },\r\n },\r\n components: {},\r\n data() {\r\n return {\r\n };\r\n },\r\n computed: {\r\n // router () {\r\n // return this.$router.options.routes\r\n // }\r\n },\r\n watch: {},\r\n methods: {\r\n hasChildrenAndShow(router){\r\n if(router.hidden){\r\n return false\r\n }\r\n\r\n return router.hasOwnProperty('children');\r\n },\r\n saveActivePath(path) {\r\n //alert(path);\r\n this.$emit('setActivePath',path);\r\n },\r\n },\r\n created() {\r\n },\r\n mounted() {}\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-menu-item.is-active {\r\n background-color: #1890ff !important;\r\n}\r\n\r\n/*隐藏文字*/\r\n.el-menu--collapse .asideBarItem-container span{\r\n display: none;\r\n}\r\n/*隐藏 > */\r\n.el-menu--collapse .asideBarItem-container .el-submenu__title .el-submenu__icon-arrow{\r\n display: none;\r\n}\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/asideBar/asideBarItem.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"asideBarItem-container\"},[(_vm.hasChildrenAndShow(_vm.router))?_c('el-submenu',{attrs:{\"index\":_vm.router.path}},[_c('template',{slot:\"title\"},[_c('i',{class:_vm.router.icon}),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.router.name))])]),_vm._v(\" \"),_vm._l((_vm.router.children),function(child,childKey){return _c('asideBarItem',{key:child.path,attrs:{\"router\":child}})})],2):_c('el-menu-item',{key:_vm.router.path,attrs:{\"index\":_vm.router.path},on:{\"click\":function($event){return _vm.saveActivePath(_vm.router.path)}}},[_c('i',{class:_vm.router.icon}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.router.name))])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-645f620a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/asideBar/asideBarItem.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-645f620a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./asideBarItem.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBarItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBarItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-645f620a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./asideBarItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-645f620a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/asideBar/asideBarItem.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"aside-container\">\r\n <el-row class=\"tac\">\r\n <el-col :span=\"24\">\r\n <!-- 整体左侧导航 -->\r\n <el-menu\r\n :router=\"true\"\r\n unique-opened\r\n @open=\"handleOpen\"\r\n @close=\"handleClose\"\r\n background-color=\"#001529\"\r\n text-color=\"rgb(191, 203, 217)\"\r\n active-text-color=\"#ffffff\"\r\n :collapse=\"collapsed\"\r\n :default-active=\"initActivePath\"\r\n >\r\n <!-- 左侧导航栏抽取循环部分 将路由列表传给子组件-->\r\n <asideBarItem v-for=\"router in routers\" :router=\"router\" v-if=\"showBarItem(router)\" @setActivePath='setActivePath' :key=\"router.path\"></asideBarItem>\r\n </el-menu>\r\n </el-col>\r\n </el-row>\r\n </div>\r\n</template>\r\n \r\n<script>\r\nimport asideBarItem from \"@/components/asideBar/asideBarItem\";\r\nexport default {\r\n name: \"asideBar\",\r\n components: {\r\n asideBarItem\r\n },\r\n data() {\r\n return {\r\n collapsed:false,\r\n initActivePath:'/dashboard'\r\n };\r\n },\r\n computed: {\r\n routers() {\r\n //console.log(this.$router.options);\r\n //this.$router.options获取路由列表\r\n return this.$router.options.routes[0].children;\r\n },\r\n },\r\n watch: {},\r\n methods: {\r\n showBarItem(router){\r\n if(router.hidden){\r\n return false\r\n }\r\n\r\n return true;\r\n },\r\n handleOpen(key, keyPath) {\r\n //点击打开时当前的路径\r\n //console.log(key, keyPath, 'handleOpen');\r\n },\r\n handleClose(key, keyPath) {\r\n //console.log(key, keyPath, 'handleClose');\r\n },\r\n updateCollapse(collapse){\r\n this.collapsed=collapse;\r\n //console.log(\"==========\"+this.isCollapse);\r\n },\r\n setActivePath(path){\r\n this.initActivePath=path;\r\n window.sessionStorage.setItem(\"activePath\", path);\r\n //console.log(\"update active path \"+this.initActivePath);\r\n },\r\n getActivePath(){\r\n return window.sessionStorage.getItem(\"activePath\");\r\n }\r\n },\r\n created() {\r\n this.initActivePath = this.getActivePath();\r\n //console.log(\"init active path \"+this.initActivePath);\r\n },\r\n mounted() {\r\n // console.log(this.$router.options.routes[1])\r\n }\r\n};\r\n</script>\r\n \r\n <style scoped>\r\n.aside-container {\r\n padding-top: 2px;\r\n}\r\n\r\n.el-menu {\r\n padding: 0;\r\n border-right: none;\r\n}\r\n\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/asideBar/asideBar.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-container\"},[_c('el-row',{staticClass:\"tac\"},[_c('el-col',{attrs:{\"span\":24}},[_c('el-menu',{attrs:{\"router\":true,\"unique-opened\":\"\",\"background-color\":\"#001529\",\"text-color\":\"rgb(191, 203, 217)\",\"active-text-color\":\"#ffffff\",\"collapse\":_vm.collapsed,\"default-active\":_vm.initActivePath},on:{\"open\":_vm.handleOpen,\"close\":_vm.handleClose}},_vm._l((_vm.routers),function(router){return (_vm.showBarItem(router))?_c('asideBarItem',{key:router.path,attrs:{\"router\":router},on:{\"setActivePath\":_vm.setActivePath}}):_vm._e()}),1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1dde93fa\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/asideBar/asideBar.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1dde93fa\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./asideBar.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBar.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBar.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1dde93fa\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./asideBar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1dde93fa\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/asideBar/asideBar.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-breadcrumb',{staticClass:\"app-breadcrumb\",attrs:{\"separator-class\":\"el-icon-arrow-right\"}},[_c('transition-group',_vm._l((_vm.levelList),function(item,index){return (item.name)?_c('el-breadcrumb-item',{key:item.path},[(item.redirect===\"noredirect\"||index==_vm.levelList.length-1)?_c('span',{staticClass:\"no-redirect\"},[_vm._v(_vm._s(item.name))]):_c('router-link',{attrs:{\"to\":item.redirect||item.path}},[_vm._v(_vm._s(item.name))])],1):_vm._e()}),1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a2157ea2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a2157ea2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a2157ea2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a2157ea2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"user-dropdown-wrap\">\r\n <el-dropdown>\r\n <div class=\"user-dropdown-photo\">\r\n <span class=\"user-dropdown-text\">\r\n {{ nickname }}({{username}})\r\n <i class=\"el-icon-caret-bottom\"></i>\r\n </span>\r\n <img src=\"../../assets/user.jpg\"\r\n alt=\"user\" />\r\n </div>\r\n <el-dropdown-menu solt=\"dropdown\">\r\n <el-dropdown-item>\r\n <router-link to=\"/user/self\">\r\n <i class=\"el-icon-s-custom\"></i>个人信息\r\n </router-link>\r\n </el-dropdown-item>\r\n <el-dropdown-item divided>\r\n <a @click=\"hadleLogout()\">\r\n <i class=\"el-icon-switch-button\"></i>退出登录\r\n </a>\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data () {\r\n return {\r\n username: \"\",\r\n nickname: \"\"\r\n };\r\n },\r\n created () {\r\n this.username = window.sessionStorage.getItem(\"username\");\r\n this.nickname = window.sessionStorage.getItem(\"realname\");\r\n },\r\n methods: {\r\n hadleLogout () {\r\n window.sessionStorage.clear();\r\n this.$http({\r\n method: 'GET',\r\n url: '/user/logout'\r\n }),\r\n this.$router.push(\"/login\");\r\n }\r\n },\r\n destroyed () {\r\n window.sessionStorage.setItem(\"activePath\", \"/\");\r\n }\r\n};\r\n</script>\r\n<style scoped>\r\n.user-dropdown-wrap {\r\n height: 60px;\r\n padding: 10px 0;\r\n float: right;\r\n}\r\n\r\n.user-dropdown-wrap .user-dropdown-photo img {\r\n width: 30px;\r\n height: 30px;\r\n vertical-align: middle;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/userDropdown/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-dropdown-wrap\"},[_c('el-dropdown',[_c('div',{staticClass:\"user-dropdown-photo\"},[_c('span',{staticClass:\"user-dropdown-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.nickname)+\"(\"+_vm._s(_vm.username)+\")\\n \"),_c('i',{staticClass:\"el-icon-caret-bottom\"})]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"../../assets/user.jpg\"),\"alt\":\"user\"}})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"solt\":\"dropdown\"}},[_c('el-dropdown-item',[_c('router-link',{attrs:{\"to\":\"/user/self\"}},[_c('i',{staticClass:\"el-icon-s-custom\"}),_vm._v(\"个人信息\\n \")])],1),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"}},[_c('a',{on:{\"click\":function($event){return _vm.hadleLogout()}}},[_c('i',{staticClass:\"el-icon-switch-button\"}),_vm._v(\"退出登录\\n \")])])],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0a6f0f66\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userDropdown/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0a6f0f66\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0a6f0f66\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0a6f0f66\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userDropdown/index.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"viewer-container\"},[_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7b74460c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/viewer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7b74460c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./viewer.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./viewer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./viewer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7b74460c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./viewer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7b74460c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/viewer.vue\n// module id = null\n// module chunks = ","<template>\r\n <el-container class=\"index-container\">\r\n <el-aside :width=\"isCollapse?'64px':'250px'\">\r\n <!-- 左侧LOGO -->\r\n <div class=\"title\">\r\n <img src=\"../assets/logo.png\" />\r\n <span class=\"title-text\"\r\n v-if=\"!isCollapse\">{{title}}</span>\r\n </div>\r\n <!-- 左侧导航菜单 -->\r\n <asideBar ref=\"asideBar\"></asideBar>\r\n </el-aside>\r\n <el-main>\r\n <el-header>\r\n <!-- 折叠图标 -->\r\n <div @click=\"handleToggleCollapse\"\r\n class=\"collapse\">\r\n <i class=\"el-icon-s-unfold\"\r\n v-if=\"isCollapse\"></i>\r\n <i class=\"el-icon-s-fold\"\r\n v-else></i>\r\n </div>\r\n\r\n <!-- 面包屑导航 -->\r\n <breadcrumb></breadcrumb>\r\n <userDropdown></userDropdown>\r\n </el-header>\r\n\r\n <!-- 右侧显示区域 -->\r\n <viewMain></viewMain>\r\n </el-main>\r\n </el-container>\r\n</template>\r\n\r\n<script>\r\nimport asideBar from \"@/components/asideBar/asideBar\";\r\nimport breadcrumb from \"@/components/breadcrumb/index\";\r\nimport userDropdown from \"@/components/userDropdown/index\"\r\nimport viewMain from \"@/views/viewer\";\r\n\r\nexport default {\r\n name: \"home\",\r\n components: {\r\n asideBar,\r\n breadcrumb,\r\n userDropdown,\r\n viewMain\r\n },\r\n data () {\r\n return {\r\n title: \"SQLREST\",\r\n isCollapse: null\r\n };\r\n },\r\n computed: {},\r\n watch: {},\r\n methods: {\r\n handleToggleCollapse () {\r\n let status = !this.isCollapse;\r\n this.isCollapse = status;\r\n this.$refs.asideBar.updateCollapse(status);\r\n }\r\n },\r\n created () {\r\n },\r\n mounted () { }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.index-container {\r\n height: 100%;\r\n}\r\n\r\n.el-aside {\r\n float: left;\r\n background: #002140;\r\n color: #333;\r\n text-align: left;\r\n}\r\n\r\n.el-aside .title {\r\n height: 60px;\r\n background: #001529;\r\n line-height: 64px;\r\n background: #002140;\r\n text-align: center;\r\n}\r\n\r\n.el-aside .title img {\r\n width: 50px;\r\n height: 50px;\r\n vertical-align: middle;\r\n}\r\n\r\n.el-aside .title .title-text {\r\n color: #fff;\r\n font-weight: 600;\r\n font-size: 20px;\r\n vertical-align: middle;\r\n}\r\n\r\n.el-header {\r\n padding: 0px;\r\n color: #ffffff;\r\n width: 100%;\r\n background: #fff;\r\n}\r\n\r\n.el-header .collapse {\r\n float: left;\r\n padding-left: 2px;\r\n font-size: 22px;\r\n color: #838383;\r\n margin-top: 10px;\r\n margin-right: 20px;\r\n cursor: pointer;\r\n}\r\n\r\n.el-main {\r\n padding: 0px;\r\n float: left;\r\n background-color: #eaedf1;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/layout.vue","<template>\r\n <el-breadcrumb class=\"app-breadcrumb\" separator-class=\"el-icon-arrow-right\">\r\n <transition-group>\r\n <el-breadcrumb-item v-for=\"(item,index) in levelList\" :key=\"item.path\" v-if=\"item.name\">\r\n <span v-if='item.redirect===\"noredirect\"||index==levelList.length-1' class=\"no-redirect\">{{item.name}}</span>\r\n <router-link v-else :to=\"item.redirect||item.path\">{{item.name}}</router-link>\r\n </el-breadcrumb-item>\r\n </transition-group>\r\n </el-breadcrumb>\r\n</template>\r\n\r\n<!-- 参考教程:https://www.cnblogs.com/yangguoe/p/9406032.html -->\r\n<script>\r\nexport default {\r\n name: \"breadcrumb\",\r\n data() {\r\n return {\r\n levelList: []\r\n };\r\n },\r\n created() {\r\n this.getBreadcrumb();\r\n },\r\n watch: {\r\n $route() {\r\n this.getBreadcrumb();\r\n }\r\n },\r\n methods: {\r\n getBreadcrumb() {\r\n let matched = this.$route.matched.filter(item => item.name); //$route.matched 将会是一个包含从上到下的所有对象 (副本)。\r\n this.levelList = matched;\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-header .el-breadcrumb {\r\n float: left;\r\n margin: 18px 0 0 20px;\r\n}\r\n\r\n.app-breadcrumb .el-breadcrumb .no-redirect {\r\n color: #97a8be;\r\n cursor: text;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/breadcrumb/index.vue","<template>\r\n <div class=\"viewer-container\">\r\n <router-view></router-view>\r\n </div>\r\n</template>\r\n \r\n<script>\r\nexport default {\r\n name: \"viewer\",\r\n components: {},\r\n data () {\r\n return {};\r\n },\r\n computed: {},\r\n watch: {},\r\n methods: {},\r\n created () { },\r\n mounted () { }\r\n};\r\n</script>\r\n \r\n<style scoped>\r\n.viewer-container {\r\n padding-top: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/viewer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"index-container\"},[_c('el-aside',{attrs:{\"width\":_vm.isCollapse?'64px':'250px'}},[_c('div',{staticClass:\"title\"},[_c('img',{attrs:{\"src\":require(\"../assets/logo.png\")}}),_vm._v(\" \"),(!_vm.isCollapse)?_c('span',{staticClass:\"title-text\"},[_vm._v(_vm._s(_vm.title))]):_vm._e()]),_vm._v(\" \"),_c('asideBar',{ref:\"asideBar\"})],1),_vm._v(\" \"),_c('el-main',[_c('el-header',[_c('div',{staticClass:\"collapse\",on:{\"click\":_vm.handleToggleCollapse}},[(_vm.isCollapse)?_c('i',{staticClass:\"el-icon-s-unfold\"}):_c('i',{staticClass:\"el-icon-s-fold\"})]),_vm._v(\" \"),_c('breadcrumb'),_vm._v(\" \"),_c('userDropdown')],1),_vm._v(\" \"),_c('viewMain')],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4972070e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/layout.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4972070e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./layout.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./layout.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./layout.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4972070e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./layout.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4972070e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/layout.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/logo.a674d30.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/logo.png\n// module id = 7Otq\n// module chunks = 1 2","<template>\n <div>\n <h3>关于SQLREST工具</h3>\n <el-tabs v-model=\"activeName\"\n @tab-click=\"handleClick()\">\n <el-tab-pane label=\"系统功能\"\n name=\"first\">\n <div class=\"content_tag\">\n <el-tag type=\"danger\">SQL接口</el-tag>\n <el-tag type=\"success\">脚本接口</el-tag>\n </div>\n <div class=\"content_card\">\n <el-card class=\"box-card\">\n <div class=\"text item\">\n <p>\n 一句话,sqlrest工具提供快速构建RESTful的<B>API接口</B>工具,包括SQl方式和脚本方式。功能包括:\n </p>\n <ul>\n <li>项目托管</li>\n <p>\n Gitee地址:<a href=\"https://gitee.com/inrgihc/sqlrest\">https://gitee.com/inrgihc/sqlrest</a>\n </p>\n <li>SQL方式构建RESTful接口</li>\n <p>\n 提供类似mybatis的动态SQL语法方式构建接口。\n </p>\n <li>脚本方式构建RESTful接口</li>\n <p>\n 基于groovy脚本的语法方式构建复杂场景下的接口。\n </p>\n <li>支持接口的token安全认证功能</li>\n <p>\n 执行器支持生成token及token认证。\n </p>\n <li>支持生成在线接口文档功能</li>\n <p>\n 基于swagger-ui提供生成在线接口文档功能。\n </p>\n <li>支持接口的流量控制功能</li>\n <p>\n 执行器基于sentinel支持接口的流量控制功能。\n </p>\n <li>支持接口的缓存配置功能</li>\n <p>\n 执行器支持哈希及SpEL表达式方式配置缓存功能。\n </p>\n <li>支持将接口转换为MCP工具功能</li>\n <p>\n Manager支持作为MCP服务端提供Tool功能。\n </p>\n </ul>\n </div>\n </el-card>\n </div>\n </el-tab-pane>\n <el-tab-pane label=\"关系数据库\"\n name=\"second\">\n <div class=\"content_tag\">\n <el-tag type=\"success\">JDBC</el-tag>\n <el-tag type=\"danger\">sqlrest</el-tag>\n </div>\n <div class=\"content_card\">\n <el-card class=\"box-card\">\n <div class=\"text item\">\n <p>\n sqlrest配置支持的常规关系数据库有20+,包括:\n </p>\n <ul>\n <li>甲骨文的Oracle\n </li>\n <li>MySQL\n </li>\n <li>MariaDB\n </li>\n <li>微软的Microsoft SQLServer\n </li>\n <li>PostgreSQL/Greenplum\n </li>\n <li>IBM的DB2\n </li>\n <li>Sybase数据库\n </li>\n <li>国产达梦数据库DMDB\n </li>\n <li>国产人大金仓数据库Kingbase8\n </li>\n <li>国产翰高数据库HighGo\n </li>\n <li>国产神通数据库Oscar\n </li>\n <li>国产南大通用数据库GBase8a\n </li>\n <li>Apache Hive\n </li>\n <li>Apache Doris\n </li>\n <li>SQLite3\n </li>\n <li>OpenGuass\n </li>\n <li>ClickHouse\n </li>\n <li>StarRocks\n </li>\n <li>OceanBase\n </li>\n <li>TDengine\n </li>\n </ul>\n </div>\n </el-card>\n </div>\n </el-tab-pane>\n <el-tab-pane label=\"开发技术栈\"\n name=\"third\">\n <div class=\"content_tag\">\n <el-tag type=\"success\">SpringBoot</el-tag>\n <el-tag type=\"danger\">SpringCloud</el-tag>\n <el-tag type=\"success\">Mybatis</el-tag>\n <el-tag type=\"danger\">Vue/ElementUI</el-tag>\n </div>\n <div class=\"content_card\">\n <el-card class=\"box-card\">\n <div class=\"text item\">\n <p>\n sqlrest基于Springboot脚手架进行的后端模块开发,模块组成结构如下:\n <pre>\n └── sqlrest\n ├── sqlrest-common // sqlrest通用定义模块\n ├── sqlrest-mcp // sqlrest的MCP协议模块\n ├── sqlrest-template // sqlrest的SQL内容模板模块\n ├── sqlrest-persistence // sqlrest的数据库持久化模块\n ├── sqlrest-core // sqlrest-core的接口实现模块\n ├── sqlrest-gateway // Gateway网关节点\n ├── sqlrest-executor // Executor接口执行节点\n ├── sqlrest-manager // Manager管理节点\n ├── sqlrest-manager-ui // 基于Vue2的Manager前段WEB交互页面\n ├── sqlrest-dist // 基于maven-assembly-plugin插件的项目打包模块\n </pre>\n </p>\n <ul>\n <li>SpringBoot</li>\n <p>\n sqlrest基于SpringBoot作为项目的基础脚手架。\n </p>\n <p>\n sqlrest-gateway/sqlrest-executor/sqlrest-manager基于SpringCloud的微服务架构提供接口配置与访问功能。\n </p>\n <li>MyBatis</li>\n <p>\n MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。\n <p>\n sqlrest-persistence模块基于Mybatis/Mybatis-plus提供配置数据的持久化。\n </p>\n <li>Vue/ElementUI</li>\n <p>\n Vue是一套用于构建用户界面的渐进式JavaScript框架。 Element是饿了么团队基于MVVM框架Vue开源出来的一套前端基于Vue 2.0的桌面端组件库。\n </p>\n <p>\n sqlrest-manager-ui模块基于Vue和ElementUI提供可视化的操作WEB界面。\n </p>\n </ul>\n </div>\n </el-card>\n </div>\n </el-tab-pane>\n\n </el-tabs>\n </div>\n</template>\n\n<script>\nimport layout from '../layout.vue';\nexport default {\n components: { layout },\n data () {\n return {\n activeName: 'first'\n };\n },\n methods: {\n handleClick (tab, event) {\n //console.log(tab, event);\n }\n }\n}\n</script>\n\n<style scoped>\ndiv h3 {\n text-align: center;\n}\n\n.content_tag {\n text-align: center;\n}\n\n.content_card {\n padding-top: 20px;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/views/aboutme/readme.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_vm._v(\"关于SQLREST工具\")]),_vm._v(\" \"),_c('el-tabs',{on:{\"tab-click\":function($event){return _vm.handleClick()}},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"系统功能\",\"name\":\"first\"}},[_c('div',{staticClass:\"content_tag\"},[_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(\"SQL接口\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(\"脚本接口\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"content_card\"},[_c('el-card',{staticClass:\"box-card\"},[_c('div',{staticClass:\"text item\"},[_c('p',[_vm._v(\"\\n 一句话,sqlrest工具提供快速构建RESTful的\"),_c('B',[_vm._v(\"API接口\")]),_vm._v(\"工具,包括SQl方式和脚本方式。功能包括:\\n \")],1),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"项目托管\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Gitee地址:\"),_c('a',{attrs:{\"href\":\"https://gitee.com/inrgihc/sqlrest\"}},[_vm._v(\"https://gitee.com/inrgihc/sqlrest\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"SQL方式构建RESTful接口\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 提供类似mybatis的动态SQL语法方式构建接口。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"脚本方式构建RESTful接口\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 基于groovy脚本的语法方式构建复杂场景下的接口。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持接口的token安全认证功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 执行器支持生成token及token认证。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持生成在线接口文档功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 基于swagger-ui提供生成在线接口文档功能。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持接口的流量控制功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 执行器基于sentinel支持接口的流量控制功能。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持接口的缓存配置功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 执行器支持哈希及SpEL表达式方式配置缓存功能。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"支持将接口转换为MCP工具功能\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Manager支持作为MCP服务端提供Tool功能。\\n \")])])])])],1)]),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"关系数据库\",\"name\":\"second\"}},[_c('div',{staticClass:\"content_tag\"},[_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(\"JDBC\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(\"sqlrest\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"content_card\"},[_c('el-card',{staticClass:\"box-card\"},[_c('div',{staticClass:\"text item\"},[_c('p',[_vm._v(\"\\n sqlrest配置支持的常规关系数据库有20+,包括:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"甲骨文的Oracle\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"MySQL\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"MariaDB\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"微软的Microsoft SQLServer\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"PostgreSQL/Greenplum\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"IBM的DB2\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sybase数据库\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产达梦数据库DMDB\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产人大金仓数据库Kingbase8\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产翰高数据库HighGo\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产神通数据库Oscar\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"国产南大通用数据库GBase8a\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Apache Hive\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Apache Doris\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"SQLite3\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"OpenGuass\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"ClickHouse\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"StarRocks\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"OceanBase\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"TDengine\\n \")])])])])],1)]),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"开发技术栈\",\"name\":\"third\"}},[_c('div',{staticClass:\"content_tag\"},[_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(\"SpringBoot\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(\"SpringCloud\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(\"Mybatis\")]),_vm._v(\" \"),_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(\"Vue/ElementUI\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"content_card\"},[_c('el-card',{staticClass:\"box-card\"},[_c('div',{staticClass:\"text item\"},[_c('p',[_vm._v(\"\\n sqlrest基于Springboot脚手架进行的后端模块开发,模块组成结构如下:\\n \"),_c('pre',[_vm._v(\" └── sqlrest\\n ├── sqlrest-common // sqlrest通用定义模块\\n ├── sqlrest-mcp // sqlrest的MCP协议模块\\n ├── sqlrest-template // sqlrest的SQL内容模板模块\\n ├── sqlrest-persistence // sqlrest的数据库持久化模块\\n ├── sqlrest-core // sqlrest-core的接口实现模块\\n ├── sqlrest-gateway // Gateway网关节点\\n ├── sqlrest-executor // Executor接口执行节点\\n ├── sqlrest-manager // Manager管理节点\\n ├── sqlrest-manager-ui // 基于Vue2的Manager前段WEB交互页面\\n ├── sqlrest-dist // 基于maven-assembly-plugin插件的项目打包模块\\n \")])]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"SpringBoot\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n sqlrest基于SpringBoot作为项目的基础脚手架。\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n sqlrest-gateway/sqlrest-executor/sqlrest-manager基于SpringCloud的微服务架构提供接口配置与访问功能。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"MyBatis\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。\\n \")]),_c('p',[_vm._v(\"\\n sqlrest-persistence模块基于Mybatis/Mybatis-plus提供配置数据的持久化。\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Vue/ElementUI\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Vue是一套用于构建用户界面的渐进式JavaScript框架。 Element是饿了么团队基于MVVM框架Vue开源出来的一套前端基于Vue 2.0的桌面端组件库。\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n sqlrest-manager-ui模块基于Vue和ElementUI提供可视化的操作WEB界面。\\n \")])])])])],1)])],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a7fe75cc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/aboutme/readme.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a7fe75cc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./readme.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./readme.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./readme.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a7fe75cc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./readme.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a7fe75cc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/aboutme/readme.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/jpeg;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/user.jpg\n// module id = BQ5I\n// module chunks = 1 2"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([19],{"6PtB":function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=a("mvHQ"),l=a.n(n),o={data:function(){return{loading:!0,currentPage:1,pageSize:10,totalCount:2,keyword:null,groupId:null,moduleId:null,publish:null,open:null,apiDocStatus:!0,groupLists:[],moduleLists:[],tableData:[]}},methods:{loadData:function(){var t=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/assignment/list",data:window.JSON.stringify({groupId:this.groupId,moduleId:this.moduleId,publish:this.publish,open:this.open,searchText:this.keyword,page:this.currentPage,size:this.pageSize})}).then(function(e){0===e.data.code?(t.currentPage=e.data.pagination.page,t.pageSize=e.data.pagination.size,t.totalCount=e.data.pagination.total,t.tableData=e.data.data):alert("加载列表失败:"+e.data.message)})},loadGroupList:function(){var t=this;this.groupLists=[],this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/group/listAll",data:l()({page:1,size:2147483647,searchText:null})}).then(function(e){0===e.data.code?t.groupLists=e.data.data:alert("加载失败:"+e.data.message)})},loadModuleList:function(){var t=this;this.moduleLists=[],this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/module/listAll",data:l()({page:1,size:2147483647,searchText:null})}).then(function(e){0===e.data.code?t.moduleLists=e.data.data:alert("加载失败:"+e.data.message)})},loadApiDocOpenStatus:function(){var t=this;this.$http.get("/sqlrest/manager/api/v1/param/value/query?key=apiDocOpen").then(function(e){0===e.data.code?t.apiDocStatus=e.data.data:e.data.message&&alert("操作失败:"+e.data.message)})},searchByKeyword:function(){this.currentPage=1,this.loadData()},hanldeSwitchApiDoc:function(){var t=this;this.$http.post("/sqlrest/manager/api/v1/param/value/update?key=apiDocOpen&value="+this.apiDocStatus).then(function(e){0===e.data.code?t.loadApiDocOpenStatus():e.data.message&&alert("操作失败:"+e.data.message)})},boolFormatPublish:function(t){return!0===t.status?"是":"否"},boolFormatOpen:function(t){return!0===t.open?"Token认证":"无认证"},boolFormatAlarm:function(t){return!0===t.alarm?"告警开启":"告警关闭"},hanldeOpenStateChanged:function(t){var e=this,a=!0;!0===t.open&&(a=!1),this.$http.put("/sqlrest/manager/api/v1/assignment/open/"+t.id+"?open="+!a).then(function(t){0===t.data.code?e.loadData():t.data.message&&alert("操作失败:"+t.data.message)})},hanldeAlarmStateChanged:function(t){var e=this,a=!0;!0===t.alarm&&(a=!1),this.$http.put("/sqlrest/manager/api/v1/assignment/alarm/"+t.id+"?open="+!a).then(function(t){0===t.data.code?e.loadData():t.data.message&&alert("操作失败:"+t.data.message)})},handleSearch:function(){this.loadData()},handleCreate:function(){this.$router.push("/interface/create")},openSwagger:function(){this.$http({method:"GET",url:"/sqlrest/manager/api/v1/node/gateway"}).then(function(t){if(0===t.data.code){if(t.data.data&&"string"==typeof t.data.data){var e=t.data.data+"/apidoc/index.html";window.open(e,"_blank")}}else t.data.message&&alert("操作失败:"+t.data.message)})},handleDetail:function(t,e){this.$router.push({path:"/interface/detail",query:{id:e.id}})},handleUpdate:function(t,e){this.$router.push({path:"/interface/update",query:{id:e.id}})},handleDelete:function(t,e){var a=this;this.$confirm("此操作将此接口ID="+e.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/assignment/delete/"+e.id).then(function(t){0===t.data.code?a.loadData():t.data.message&&alert("删除失败:"+t.data.message)})})},handlePublish:function(t,e){var a=this;this.$http({method:"PUT",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/assignment/deploy/"+e.id}).then(function(t){0===t.data.code?(a.$message("发布成功"),a.loadData()):t.data.message&&alert("发布失败,"+t.data.message)})},handleRetireTask:function(t,e){var a=this;this.$http({method:"PUT",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/assignment/retire/"+e.id}).then(function(t){0===t.data.code?(a.$message("下线成功"),a.loadData()):t.data.message&&alert("下线失败,"+t.data.message)})},handleSizeChange:function(t){this.loading=!0,this.pageSize=t,this.loadData()},handleCurrentChange:function(t){this.loading=!0,this.currentPage=t,this.loadData()}},created:function(){this.loadGroupList(),this.loadModuleList(),this.loadApiDocOpenStatus(),this.loadData()}},i={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-card",[a("div",{staticClass:"assignment-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-select",{staticStyle:{width:"15%"},attrs:{size:"mini",clearable:!0,placeholder:"选择授权分组"},model:{value:t.groupId,callback:function(e){t.groupId=e},expression:"groupId"}},t._l(t.groupLists,function(t,e){return a("el-option",{key:e,attrs:{label:t.name,value:t.id}})}),1),t._v(" "),a("el-select",{staticStyle:{width:"15%"},attrs:{size:"mini",clearable:!0,placeholder:"请选择模块"},model:{value:t.moduleId,callback:function(e){t.moduleId=e},expression:"moduleId"}},t._l(t.moduleLists,function(t,e){return a("el-option",{key:e,attrs:{label:t.name,value:t.id}})}),1),t._v(" "),a("el-select",{staticStyle:{width:"10%"},attrs:{size:"mini",clearable:!0,placeholder:"已上线"},model:{value:t.publish,callback:function(e){t.publish=e},expression:"publish"}},[a("el-option",{key:!0,attrs:{label:"是",value:!0}}),t._v(" "),a("el-option",{key:!1,attrs:{label:"否",value:!1}})],1),t._v(" "),a("el-select",{staticStyle:{width:"10%"},attrs:{size:"mini",clearable:!0,placeholder:"是否公开"},model:{value:t.open,callback:function(e){t.open=e},expression:"open"}},[a("el-option",{key:!0,attrs:{label:"是",value:!0}}),t._v(" "),a("el-option",{key:!1,attrs:{label:"否",value:!1}})],1),t._v(" "),a("el-input",{staticStyle:{width:"15%"},attrs:{placeholder:"名称搜索",size:"mini",clearable:!0},on:{change:t.searchByKeyword},model:{value:t.keyword,callback:function(e){t.keyword=e},expression:"keyword"}}),t._v(" "),a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-search"},on:{click:t.handleSearch}},[t._v("搜索")]),t._v(" "),a("el-switch",{attrs:{name:"Swagger文档开关","active-color":"#13ce66","inactive-color":"#ff4949","active-value":!0,"inactive-value":!1,"active-text":"文档开","inactive-text":"文档关"},on:{change:function(e){return t.hanldeSwitchApiDoc()}},model:{value:t.apiDocStatus,callback:function(e){t.apiDocStatus=e},expression:"apiDocStatus"}})],1)]),t._v(" "),a("el-button",{attrs:{type:"warning",size:"mini",disabled:0==t.apiDocStatus,icon:"el-icon-document-add"},on:{click:t.openSwagger}},[t._v("Swagger文档")]),t._v(" "),a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:t.handleCreate}},[t._v("添加")])],1),t._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:t.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"8%"}}),t._v(" "),a("el-table-column",{attrs:{prop:"name",label:"名称","show-overflow-tooltip":"","min-width":"30%"}}),t._v(" "),a("el-table-column",{attrs:{label:"方法","min-width":"10%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-tag",{staticClass:"name-wrapper-tag",attrs:{size:"medium"}},[t._v(t._s(e.row.method))])]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"path",label:"接口路径","show-overflow-tooltip":"","min-width":"20%"}}),t._v(" "),a("el-table-column",{attrs:{label:"引擎","min-width":"10%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-tag",{staticClass:"name-wrapper-tag",attrs:{size:"medium"}},[t._v(t._s(e.row.engine))])]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"status",label:"已上线",formatter:t.boolFormatPublish,"show-overflow-tooltip":"","min-width":"8%"}}),t._v(" "),a("el-table-column",{attrs:{prop:"open",label:"公开","min-width":"8%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-tooltip",{attrs:{content:t.boolFormatOpen(e.row),placement:"top"}},[a("el-switch",{on:{change:function(a){return t.hanldeOpenStateChanged(e.row)}},model:{value:e.row.open,callback:function(a){t.$set(e.row,"open",a)},expression:"scope.row.open"}})],1)]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"alarm",label:"告警","min-width":"8%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-tooltip",{attrs:{content:t.boolFormatAlarm(e.row),placement:"top"}},[a("el-switch",{on:{change:function(a){return t.hanldeAlarmStateChanged(e.row)}},model:{value:e.row.alarm,callback:function(a){t.$set(e.row,"alarm",a)},expression:"scope.row.alarm"}})],1)]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"18%"}}),t._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"30%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-button-group",[!1===e.row.status?a("el-button",{attrs:{size:"small",type:"primary",icon:"el-icon-timer",round:""},on:{click:function(a){return t.handlePublish(e.$index,e.row)}}},[t._v("上线")]):t._e(),t._v(" "),!0===e.row.status?a("el-button",{attrs:{size:"small",type:"info",icon:"el-icon-delete-location",round:""},on:{click:function(a){return t.handleRetireTask(e.$index,e.row)}}},[t._v("下线")]):t._e(),t._v(" "),!0===e.row.status?a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-document",round:""},on:{click:function(a){return t.handleDetail(e.$index,e.row)}}},[t._v("详情")]):t._e(),t._v(" "),!1===e.row.status?a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-edit",round:""},on:{click:function(a){return t.handleUpdate(e.$index,e.row)}}},[t._v("修改")]):t._e(),t._v(" "),!1===e.row.status?a("el-button",{attrs:{size:"small",type:"danger",icon:"el-icon-delete",round:""},on:{click:function(a){return t.handleDelete(e.$index,e.row)}}},[t._v("删除")]):t._e()],1)]}}])})],1),t._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":t.currentPage,"page-sizes":[5,10,20,40],"page-size":t.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:t.totalCount},on:{"size-change":t.handleSizeChange,"current-change":t.handleCurrentChange}})],1)],1)],1)},staticRenderFns:[]};var s=a("VU/8")(o,i,!1,function(t){a("jJ3y")},"data-v-291ecf29",null);e.default=s.exports},jJ3y:function(t,e){}});
//# sourceMappingURL=19.a2c24b3aee6af674aa30.js.map
\ No newline at end of file
webpackJsonp([15],{"6PtB":function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=a("mvHQ"),l=a.n(n),o={data:function(){return{loading:!0,currentPage:1,pageSize:10,totalCount:2,keyword:null,groupId:null,moduleId:null,publish:null,open:null,apiDocStatus:!0,groupLists:[],moduleLists:[],tableData:[]}},methods:{loadData:function(){var t=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/assignment/list",data:window.JSON.stringify({groupId:this.groupId,moduleId:this.moduleId,publish:this.publish,open:this.open,searchText:this.keyword,page:this.currentPage,size:this.pageSize})}).then(function(e){0===e.data.code?(t.currentPage=e.data.pagination.page,t.pageSize=e.data.pagination.size,t.totalCount=e.data.pagination.total,t.tableData=e.data.data):alert("加载列表失败:"+e.data.message)})},loadGroupList:function(){var t=this;this.groupLists=[],this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/group/listAll",data:l()({page:1,size:2147483647,searchText:null})}).then(function(e){0===e.data.code?t.groupLists=e.data.data:alert("加载失败:"+e.data.message)})},loadModuleList:function(){var t=this;this.moduleLists=[],this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/module/listAll",data:l()({page:1,size:2147483647,searchText:null})}).then(function(e){0===e.data.code?t.moduleLists=e.data.data:alert("加载失败:"+e.data.message)})},loadApiDocOpenStatus:function(){var t=this;this.$http.get("/sqlrest/manager/api/v1/param/value/query?key=apiDocOpen").then(function(e){0===e.data.code?t.apiDocStatus=e.data.data:e.data.message&&alert("操作失败:"+e.data.message)})},searchByKeyword:function(){this.currentPage=1,this.loadData()},hanldeSwitchApiDoc:function(){var t=this;this.$http.post("/sqlrest/manager/api/v1/param/value/update?key=apiDocOpen&value="+this.apiDocStatus).then(function(e){0===e.data.code?t.loadApiDocOpenStatus():e.data.message&&alert("操作失败:"+e.data.message)})},boolFormatPublish:function(t){return!0===t.status?"是":"否"},boolFormatOpen:function(t){return!0===t.open?"Token认证":"无认证"},boolFormatAlarm:function(t){return!0===t.alarm?"告警开启":"告警关闭"},hanldeOpenStateChanged:function(t){var e=this,a=!0;!0===t.open&&(a=!1),this.$http.put("/sqlrest/manager/api/v1/assignment/open/"+t.id+"?open="+!a).then(function(t){0===t.data.code?e.loadData():t.data.message&&alert("操作失败:"+t.data.message)})},hanldeAlarmStateChanged:function(t){var e=this,a=!0;!0===t.alarm&&(a=!1),this.$http.put("/sqlrest/manager/api/v1/assignment/alarm/"+t.id+"?open="+!a).then(function(t){0===t.data.code?e.loadData():t.data.message&&alert("操作失败:"+t.data.message)})},handleSearch:function(){this.loadData()},handleCreate:function(){this.$router.push("/interface/create")},openSwagger:function(){this.$http({method:"GET",url:"/sqlrest/manager/api/v1/node/gateway"}).then(function(t){if(0===t.data.code){if(t.data.data&&"string"==typeof t.data.data){var e=t.data.data+"/apidoc/index.html";window.open(e,"_blank")}}else t.data.message&&alert("操作失败:"+t.data.message)})},handleDetail:function(t,e){this.$router.push({path:"/interface/detail",query:{id:e.id}})},handleUpdate:function(t,e){this.$router.push({path:"/interface/update",query:{id:e.id}})},handleDelete:function(t,e){var a=this;this.$confirm("此操作将此接口ID="+e.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/assignment/delete/"+e.id).then(function(t){0===t.data.code?a.loadData():t.data.message&&alert("删除失败:"+t.data.message)})})},handlePublish:function(t,e){var a=this;this.$http({method:"PUT",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/assignment/deploy/"+e.id}).then(function(t){0===t.data.code?(a.$message("发布成功"),a.loadData()):t.data.message&&alert("发布失败,"+t.data.message)})},handleRetireTask:function(t,e){var a=this;this.$http({method:"PUT",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/assignment/retire/"+e.id}).then(function(t){0===t.data.code?(a.$message("下线成功"),a.loadData()):t.data.message&&alert("下线失败,"+t.data.message)})},handleSizeChange:function(t){this.loading=!0,this.pageSize=t,this.loadData()},handleCurrentChange:function(t){this.loading=!0,this.currentPage=t,this.loadData()}},created:function(){this.loadGroupList(),this.loadModuleList(),this.loadApiDocOpenStatus(),this.loadData()}},i={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-card",[a("div",{staticClass:"assignment-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-select",{staticStyle:{width:"15%"},attrs:{size:"mini",clearable:!0,placeholder:"选择授权分组"},model:{value:t.groupId,callback:function(e){t.groupId=e},expression:"groupId"}},t._l(t.groupLists,function(t,e){return a("el-option",{key:e,attrs:{label:t.name,value:t.id}})}),1),t._v(" "),a("el-select",{staticStyle:{width:"15%"},attrs:{size:"mini",clearable:!0,placeholder:"请选择模块"},model:{value:t.moduleId,callback:function(e){t.moduleId=e},expression:"moduleId"}},t._l(t.moduleLists,function(t,e){return a("el-option",{key:e,attrs:{label:t.name,value:t.id}})}),1),t._v(" "),a("el-select",{staticStyle:{width:"10%"},attrs:{size:"mini",clearable:!0,placeholder:"已上线"},model:{value:t.publish,callback:function(e){t.publish=e},expression:"publish"}},[a("el-option",{key:!0,attrs:{label:"是",value:!0}}),t._v(" "),a("el-option",{key:!1,attrs:{label:"否",value:!1}})],1),t._v(" "),a("el-select",{staticStyle:{width:"10%"},attrs:{size:"mini",clearable:!0,placeholder:"是否公开"},model:{value:t.open,callback:function(e){t.open=e},expression:"open"}},[a("el-option",{key:!0,attrs:{label:"是",value:!0}}),t._v(" "),a("el-option",{key:!1,attrs:{label:"否",value:!1}})],1),t._v(" "),a("el-input",{staticStyle:{width:"15%"},attrs:{placeholder:"名称搜索",size:"mini",clearable:!0},on:{change:t.searchByKeyword},model:{value:t.keyword,callback:function(e){t.keyword=e},expression:"keyword"}}),t._v(" "),a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-search"},on:{click:t.handleSearch}},[t._v("搜索")]),t._v(" "),a("el-switch",{attrs:{name:"Swagger文档开关","active-color":"#13ce66","inactive-color":"#ff4949","active-value":!0,"inactive-value":!1,"active-text":"文档开","inactive-text":"文档关"},on:{change:function(e){return t.hanldeSwitchApiDoc()}},model:{value:t.apiDocStatus,callback:function(e){t.apiDocStatus=e},expression:"apiDocStatus"}})],1)]),t._v(" "),a("el-button",{attrs:{type:"warning",size:"mini",disabled:0==t.apiDocStatus,icon:"el-icon-document-add"},on:{click:t.openSwagger}},[t._v("Swagger文档")]),t._v(" "),a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:t.handleCreate}},[t._v("添加")])],1),t._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:t.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"8%"}}),t._v(" "),a("el-table-column",{attrs:{prop:"name",label:"名称","show-overflow-tooltip":"","min-width":"30%"}}),t._v(" "),a("el-table-column",{attrs:{label:"方法","min-width":"10%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-tag",{staticClass:"name-wrapper-tag",attrs:{size:"medium"}},[t._v(t._s(e.row.method))])]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"path",label:"接口路径","show-overflow-tooltip":"","min-width":"15%"}}),t._v(" "),a("el-table-column",{attrs:{prop:"moduleName",label:"模块","show-overflow-tooltip":"","min-width":"10%"}}),t._v(" "),a("el-table-column",{attrs:{prop:"groupName",label:"授权分组","show-overflow-tooltip":"","min-width":"10%"}}),t._v(" "),a("el-table-column",{attrs:{label:"引擎","min-width":"10%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-tag",{staticClass:"name-wrapper-tag",attrs:{size:"medium"}},[t._v(t._s(e.row.engine))])]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"status",label:"已上线",formatter:t.boolFormatPublish,"show-overflow-tooltip":"","min-width":"8%"}}),t._v(" "),a("el-table-column",{attrs:{prop:"open",label:"公开","min-width":"8%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-tooltip",{attrs:{content:t.boolFormatOpen(e.row),placement:"top"}},[a("el-switch",{on:{change:function(a){return t.hanldeOpenStateChanged(e.row)}},model:{value:e.row.open,callback:function(a){t.$set(e.row,"open",a)},expression:"scope.row.open"}})],1)]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"alarm",label:"告警","min-width":"8%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-tooltip",{attrs:{content:t.boolFormatAlarm(e.row),placement:"top"}},[a("el-switch",{on:{change:function(a){return t.hanldeAlarmStateChanged(e.row)}},model:{value:e.row.alarm,callback:function(a){t.$set(e.row,"alarm",a)},expression:"scope.row.alarm"}})],1)]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"18%"}}),t._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"30%"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-button-group",[!1===e.row.status?a("el-button",{attrs:{size:"small",type:"primary",icon:"el-icon-timer",round:""},on:{click:function(a){return t.handlePublish(e.$index,e.row)}}},[t._v("上线")]):t._e(),t._v(" "),!0===e.row.status?a("el-button",{attrs:{size:"small",type:"info",icon:"el-icon-delete-location",round:""},on:{click:function(a){return t.handleRetireTask(e.$index,e.row)}}},[t._v("下线")]):t._e(),t._v(" "),!0===e.row.status?a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-document",round:""},on:{click:function(a){return t.handleDetail(e.$index,e.row)}}},[t._v("详情")]):t._e(),t._v(" "),!1===e.row.status?a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-edit",round:""},on:{click:function(a){return t.handleUpdate(e.$index,e.row)}}},[t._v("修改")]):t._e(),t._v(" "),!1===e.row.status?a("el-button",{attrs:{size:"small",type:"danger",icon:"el-icon-delete",round:""},on:{click:function(a){return t.handleDelete(e.$index,e.row)}}},[t._v("删除")]):t._e()],1)]}}])})],1),t._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":t.currentPage,"page-sizes":[5,10,20,40],"page-size":t.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:t.totalCount},on:{"size-change":t.handleSizeChange,"current-change":t.handleCurrentChange}})],1)],1)],1)},staticRenderFns:[]};var s=a("VU/8")(o,i,!1,function(t){a("J2Jg")},"data-v-dbf1a0fe",null);e.default=s.exports},J2Jg:function(t,e){}});
//# sourceMappingURL=15.d8a7cd9843e13fa1b5eb.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/interface/list.vue","webpack:///./src/views/interface/list.vue?cdca","webpack:///./src/views/interface/list.vue"],"names":["list","data","loading","currentPage","pageSize","totalCount","keyword","groupId","moduleId","publish","open","apiDocStatus","groupLists","moduleLists","tableData","methods","loadData","_this","this","$http","method","headers","Content-Type","url","window","JSON","stringify","searchText","page","size","then","res","code","pagination","total","alert","message","loadGroupList","_this2","stringify_default","loadModuleList","_this3","loadApiDocOpenStatus","_this4","get","searchByKeyword","hanldeSwitchApiDoc","_this5","post","boolFormatPublish","row","status","boolFormatOpen","boolFormatAlarm","alarm","hanldeOpenStateChanged","_this6","put","id","hanldeAlarmStateChanged","_this7","handleSearch","handleCreate","$router","push","openSwagger","handleDetail","index","path","query","handleUpdate","handleDelete","_this8","$confirm","confirmButtonText","cancelButtonText","type","delete","handlePublish","_this9","$message","handleRetireTask","_this10","handleSizeChange","handleCurrentChange","created","interface_list","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","clearable","placeholder","model","value","callback","$$v","expression","_l","item","key","label","name","_v","on","change","icon","click","active-color","inactive-color","active-value","inactive-value","active-text","inactive-text","$event","disabled","header-cell-style","background","color","border","prop","min-width","show-overflow-tooltip","scopedSlots","_u","fn","scope","_s","engine","formatter","content","placement","$set","round","$index","_e","align","current-page","page-sizes","page-size","layout","size-change","current-change","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/15.d8a7cd9843e13fa1b5eb.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"assignment-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-select v-model=\"groupId\"\r\n size=\"mini\"\r\n :clearable=\"true\"\r\n style=\"width:15%\"\r\n placeholder=\"选择授权分组\">\r\n <el-option v-for=\"(item,index) in groupLists\"\r\n :key=\"index\"\r\n :label=\"item.name\"\r\n :value=\"item.id\"></el-option>\r\n </el-select>\r\n <el-select v-model=\"moduleId\"\r\n size=\"mini\"\r\n :clearable=\"true\"\r\n style=\"width:15%\"\r\n placeholder=\"请选择模块\">\r\n <el-option v-for=\"(item,index) in moduleLists\"\r\n :key=\"index\"\r\n :label=\"item.name\"\r\n :value=\"item.id\"></el-option>\r\n </el-select>\r\n <el-select v-model=\"publish\"\r\n size=\"mini\"\r\n :clearable=\"true\"\r\n style=\"width:10%\"\r\n placeholder=\"已上线\">\r\n <el-option :key=true\r\n label=\"是\"\r\n :value=true></el-option>\r\n <el-option :key=false\r\n label=\"否\"\r\n :value=false></el-option>\r\n </el-select>\r\n <el-select v-model=\"open\"\r\n size=\"mini\"\r\n :clearable=\"true\"\r\n style=\"width:10%\"\r\n placeholder=\"是否公开\">\r\n <el-option :key=true\r\n label=\"是\"\r\n :value=true></el-option>\r\n <el-option :key=false\r\n label=\"否\"\r\n :value=false></el-option>\r\n </el-select>\r\n <el-input placeholder=\"名称搜索\"\r\n size=\"mini\"\r\n v-model=\"keyword\"\r\n :clearable=true\r\n style=\"width:15%\"\r\n @change=\"searchByKeyword\">\r\n </el-input>\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-search\"\r\n @click=\"handleSearch\">搜索</el-button>\r\n <el-switch v-model=\"apiDocStatus\"\r\n name=\"Swagger文档开关\"\r\n active-color=\"#13ce66\"\r\n inactive-color=\"#ff4949\"\r\n :active-value=true\r\n :inactive-value=false\r\n active-text=\"文档开\"\r\n inactive-text=\"文档关\"\r\n @change=\"hanldeSwitchApiDoc()\">\r\n </el-switch>\r\n </div>\r\n </div>\r\n <el-button type=\"warning\"\r\n size=\"mini\"\r\n :disabled=\"apiDocStatus==false\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"openSwagger\">Swagger文档</el-button>\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"handleCreate\">添加</el-button>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"8%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"名称\"\r\n show-overflow-tooltip\r\n min-width=\"30%\"></el-table-column>\r\n <el-table-column label=\"方法\"\r\n min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-tag size=\"medium\"\r\n class=\"name-wrapper-tag\">{{ scope.row.method }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"path\"\r\n label=\"接口路径\"\r\n show-overflow-tooltip\r\n min-width=\"15%\"></el-table-column>\r\n <el-table-column prop=\"moduleName\"\r\n label=\"模块\"\r\n show-overflow-tooltip\r\n min-width=\"10%\"></el-table-column>\r\n <el-table-column prop=\"groupName\"\r\n label=\"授权分组\"\r\n show-overflow-tooltip\r\n min-width=\"10%\"></el-table-column>\r\n <el-table-column label=\"引擎\"\r\n min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-tag size=\"medium\"\r\n class=\"name-wrapper-tag\">{{ scope.row.engine }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"status\"\r\n label=\"已上线\"\r\n :formatter=\"boolFormatPublish\"\r\n show-overflow-tooltip\r\n min-width=\"8%\"></el-table-column>\r\n <el-table-column prop=\"open\"\r\n label=\"公开\"\r\n min-width=\"8%\">\r\n <template slot-scope=\"scope\">\r\n <el-tooltip :content=\"boolFormatOpen(scope.row)\"\r\n placement=\"top\">\r\n <el-switch v-model=\"scope.row.open\"\r\n @change=\"hanldeOpenStateChanged(scope.row)\" />\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"alarm\"\r\n label=\"告警\"\r\n min-width=\"8%\">\r\n <template slot-scope=\"scope\">\r\n <el-tooltip :content=\"boolFormatAlarm(scope.row)\"\r\n placement=\"top\">\r\n <el-switch v-model=\"scope.row.alarm\"\r\n @change=\"hanldeAlarmStateChanged(scope.row)\" />\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"18%\"></el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"30%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"primary\"\r\n icon=\"el-icon-timer\"\r\n v-if=\"scope.row.status===false\"\r\n @click=\"handlePublish(scope.$index, scope.row)\"\r\n round>上线</el-button>\r\n <el-button size=\"small\"\r\n type=\"info\"\r\n icon=\"el-icon-delete-location\"\r\n v-if=\"scope.row.status===true\"\r\n @click=\"handleRetireTask(scope.$index, scope.row)\"\r\n round>下线</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-document\"\r\n v-if=\"scope.row.status===true\"\r\n @click=\"handleDetail(scope.$index, scope.row)\"\r\n round>详情</el-button>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-edit\"\r\n v-if=\"scope.row.status===false\"\r\n @click=\"handleUpdate(scope.$index, scope.row)\"\r\n round>修改</el-button>\r\n <el-button size=\"small\"\r\n type=\"danger\"\r\n icon=\"el-icon-delete\"\r\n v-if=\"scope.row.status===false\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPage\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalCount\"></el-pagination>\r\n </div>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n\r\n data () {\r\n return {\r\n loading: true,\r\n currentPage: 1,\r\n pageSize: 10,\r\n totalCount: 2,\r\n keyword: null,\r\n groupId: null,\r\n moduleId: null,\r\n publish: null,\r\n open: null,\r\n apiDocStatus: true,\r\n groupLists: [],\r\n moduleLists: [],\r\n tableData: [],\r\n };\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/assignment/list\",\r\n data: window.JSON.stringify(\r\n {\r\n groupId: this.groupId,\r\n moduleId: this.moduleId,\r\n publish: this.publish,\r\n open: this.open,\r\n searchText: this.keyword,\r\n page: this.currentPage,\r\n size: this.pageSize\r\n }\r\n )\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.currentPage = res.data.pagination.page;\r\n this.pageSize = res.data.pagination.size;\r\n this.totalCount = res.data.pagination.total;\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载列表失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n loadGroupList () {\r\n this.groupLists = [];\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/listAll\",\r\n data: JSON.stringify({\r\n page: 1,\r\n size: 2147483647,\r\n searchText: null\r\n })\r\n }).then(\r\n res => {\r\n if (0 === res.data.code) {\r\n this.groupLists = res.data.data;\r\n } else {\r\n alert(\"加载失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n loadModuleList () {\r\n this.moduleLists = [];\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/module/listAll\",\r\n data: JSON.stringify({\r\n page: 1,\r\n size: 2147483647,\r\n searchText: null\r\n })\r\n }).then(\r\n res => {\r\n if (0 === res.data.code) {\r\n this.moduleLists = res.data.data;\r\n } else {\r\n alert(\"加载失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n loadApiDocOpenStatus () {\r\n this.$http.get(\r\n \"/sqlrest/manager/api/v1/param/value/query?key=apiDocOpen\"\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.apiDocStatus = res.data.data;\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n hanldeSwitchApiDoc: function () {\r\n this.$http.post(\r\n \"/sqlrest/manager/api/v1/param/value/update?key=apiDocOpen&value=\" + this.apiDocStatus\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadApiDocOpenStatus();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n boolFormatPublish (row) {\r\n if (row.status === true) {\r\n return \"是\";\r\n } else {\r\n return \"否\";\r\n }\r\n },\r\n boolFormatOpen (row) {\r\n if (row.open === true) {\r\n return \"Token认证\";\r\n } else {\r\n return \"无认证\";\r\n }\r\n },\r\n boolFormatAlarm (row) {\r\n if (row.alarm === true) {\r\n return \"告警开启\";\r\n } else {\r\n return \"告警关闭\";\r\n }\r\n },\r\n hanldeOpenStateChanged (row) {\r\n var open = true;\r\n if (true === row.open) {\r\n open = false\r\n }\r\n this.$http.put(\r\n \"/sqlrest/manager/api/v1/assignment/open/\" + row.id + \"?open=\" + !open\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n hanldeAlarmStateChanged (row) {\r\n var open = true;\r\n if (true === row.alarm) {\r\n open = false\r\n }\r\n this.$http.put(\r\n \"/sqlrest/manager/api/v1/assignment/alarm/\" + row.id + \"?open=\" + !open\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n handleSearch: function () {\r\n this.loadData();\r\n },\r\n handleCreate: function () {\r\n this.$router.push('/interface/create')\r\n },\r\n openSwagger: function () {\r\n this.$http({\r\n method: \"GET\",\r\n url: \"/sqlrest/manager/api/v1/node/gateway\"\r\n }).then(\r\n res => {\r\n if (0 === res.data.code) {\r\n if (res.data.data && typeof res.data.data === 'string') {\r\n var url = res.data.data + '/apidoc/index.html';\r\n window.open(url, '_blank');\r\n }\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n }\r\n );\r\n },\r\n handleDetail: function (index, row) {\r\n this.$router.push({ path: '/interface/detail', query: { id: row.id } })\r\n },\r\n handleUpdate: function (index, row) {\r\n this.$router.push({ path: '/interface/update', query: { id: row.id } })\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此接口ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/assignment/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n });\r\n },\r\n handlePublish: function (index, row) {\r\n this.$http({\r\n method: \"PUT\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/assignment/deploy/\" + row.id,\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.$message(\"发布成功\");\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"发布失败,\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n handleRetireTask: function (index, row) {\r\n this.$http({\r\n method: \"PUT\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/assignment/retire/\" + row.id,\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.$message(\"下线成功\");\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"下线失败,\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.loading = true;\r\n this.pageSize = pageSize;\r\n this.loadData();\r\n },\r\n\r\n handleCurrentChange: function (currentPage) {\r\n this.loading = true;\r\n this.currentPage = currentPage;\r\n this.loadData();\r\n }\r\n },\r\n created () {\r\n this.loadGroupList();\r\n this.loadModuleList();\r\n this.loadApiDocOpenStatus();\r\n this.loadData();\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.demo-table-expand {\r\n font-size: 0;\r\n}\r\n\r\n.demo-table-expand label {\r\n width: 90px;\r\n color: #99a9bf;\r\n}\r\n\r\n.demo-table-expand .el-form-item {\r\n margin-right: 0;\r\n margin-bottom: 0;\r\n width: 50%;\r\n}\r\n\r\n.el-input.is-disabled .el-input__inner {\r\n background-color: #f5f7fa;\r\n border-color: #e4e7ed;\r\n color: #c0c4cc;\r\n cursor: pointer;\r\n}\r\n\r\n.assignment-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 5px;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n margin-right: auto;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-left: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/interface/list.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"assignment-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-select',{staticStyle:{\"width\":\"15%\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"选择授权分组\"},model:{value:(_vm.groupId),callback:function ($$v) {_vm.groupId=$$v},expression:\"groupId\"}},_vm._l((_vm.groupLists),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.name,\"value\":item.id}})}),1),_vm._v(\" \"),_c('el-select',{staticStyle:{\"width\":\"15%\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"请选择模块\"},model:{value:(_vm.moduleId),callback:function ($$v) {_vm.moduleId=$$v},expression:\"moduleId\"}},_vm._l((_vm.moduleLists),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.name,\"value\":item.id}})}),1),_vm._v(\" \"),_c('el-select',{staticStyle:{\"width\":\"10%\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"已上线\"},model:{value:(_vm.publish),callback:function ($$v) {_vm.publish=$$v},expression:\"publish\"}},[_c('el-option',{key:true,attrs:{\"label\":\"是\",\"value\":true}}),_vm._v(\" \"),_c('el-option',{key:false,attrs:{\"label\":\"否\",\"value\":false}})],1),_vm._v(\" \"),_c('el-select',{staticStyle:{\"width\":\"10%\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"是否公开\"},model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},[_c('el-option',{key:true,attrs:{\"label\":\"是\",\"value\":true}}),_vm._v(\" \"),_c('el-option',{key:false,attrs:{\"label\":\"否\",\"value\":false}})],1),_vm._v(\" \"),_c('el-input',{staticStyle:{\"width\":\"15%\"},attrs:{\"placeholder\":\"名称搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}}),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-search\"},on:{\"click\":_vm.handleSearch}},[_vm._v(\"搜索\")]),_vm._v(\" \"),_c('el-switch',{attrs:{\"name\":\"Swagger文档开关\",\"active-color\":\"#13ce66\",\"inactive-color\":\"#ff4949\",\"active-value\":true,\"inactive-value\":false,\"active-text\":\"文档开\",\"inactive-text\":\"文档关\"},on:{\"change\":function($event){return _vm.hanldeSwitchApiDoc()}},model:{value:(_vm.apiDocStatus),callback:function ($$v) {_vm.apiDocStatus=$$v},expression:\"apiDocStatus\"}})],1)]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"warning\",\"size\":\"mini\",\"disabled\":_vm.apiDocStatus==false,\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.openSwagger}},[_vm._v(\"Swagger文档\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"添加\")])],1),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"8%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"30%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"方法\",\"min-width\":\"10%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{staticClass:\"name-wrapper-tag\",attrs:{\"size\":\"medium\"}},[_vm._v(_vm._s(scope.row.method))])]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"path\",\"label\":\"接口路径\",\"show-overflow-tooltip\":\"\",\"min-width\":\"15%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"moduleName\",\"label\":\"模块\",\"show-overflow-tooltip\":\"\",\"min-width\":\"10%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"groupName\",\"label\":\"授权分组\",\"show-overflow-tooltip\":\"\",\"min-width\":\"10%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"引擎\",\"min-width\":\"10%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{staticClass:\"name-wrapper-tag\",attrs:{\"size\":\"medium\"}},[_vm._v(_vm._s(scope.row.engine))])]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"status\",\"label\":\"已上线\",\"formatter\":_vm.boolFormatPublish,\"show-overflow-tooltip\":\"\",\"min-width\":\"8%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"open\",\"label\":\"公开\",\"min-width\":\"8%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tooltip',{attrs:{\"content\":_vm.boolFormatOpen(scope.row),\"placement\":\"top\"}},[_c('el-switch',{on:{\"change\":function($event){return _vm.hanldeOpenStateChanged(scope.row)}},model:{value:(scope.row.open),callback:function ($$v) {_vm.$set(scope.row, \"open\", $$v)},expression:\"scope.row.open\"}})],1)]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"alarm\",\"label\":\"告警\",\"min-width\":\"8%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tooltip',{attrs:{\"content\":_vm.boolFormatAlarm(scope.row),\"placement\":\"top\"}},[_c('el-switch',{on:{\"change\":function($event){return _vm.hanldeAlarmStateChanged(scope.row)}},model:{value:(scope.row.alarm),callback:function ($$v) {_vm.$set(scope.row, \"alarm\", $$v)},expression:\"scope.row.alarm\"}})],1)]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"18%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"30%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[(scope.row.status===false)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-timer\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handlePublish(scope.$index, scope.row)}}},[_vm._v(\"上线\")]):_vm._e(),_vm._v(\" \"),(scope.row.status===true)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"info\",\"icon\":\"el-icon-delete-location\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleRetireTask(scope.$index, scope.row)}}},[_vm._v(\"下线\")]):_vm._e(),_vm._v(\" \"),(scope.row.status===true)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDetail(scope.$index, scope.row)}}},[_vm._v(\"详情\")]):_vm._e(),_vm._v(\" \"),(scope.row.status===false)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-edit\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleUpdate(scope.$index, scope.row)}}},[_vm._v(\"修改\")]):_vm._e(),_vm._v(\" \"),(scope.row.status===false)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")]):_vm._e()],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.pageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-dbf1a0fe\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/interface/list.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-dbf1a0fe\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./list.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dbf1a0fe\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-dbf1a0fe\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/interface/list.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([15],{"+sv1":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var c={data:function(){return{}},components:{common:n("u2+N").a},methods:{},created:function(){}},o={render:function(){var t=this.$createElement;return(this._self._c||t)("common",{attrs:{isOnlyShowDetail:!0}})},staticRenderFns:[]};var a=n("VU/8")(c,o,!1,function(t){n("Htdc")},"data-v-d65c96a6",null);e.default=a.exports},Htdc:function(t,e){}});
//# sourceMappingURL=15.d80f5cf2fd51d72b22ea.js.map
\ No newline at end of file
webpackJsonp([16],{"+sv1":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var c={data:function(){return{}},components:{common:n("u2+N").a},methods:{},created:function(){}},o={render:function(){var t=this.$createElement;return(this._self._c||t)("common",{attrs:{isOnlyShowDetail:!0}})},staticRenderFns:[]};var a=n("VU/8")(c,o,!1,function(t){n("Htdc")},"data-v-d65c96a6",null);e.default=a.exports},Htdc:function(t,e){}});
//# sourceMappingURL=16.9a6082d7311beb531ffe.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/interface/detail.vue","webpack:///./src/views/interface/detail.vue?d651","webpack:///./src/views/interface/detail.vue"],"names":["detail","data","components","common","methods","created","interface_detail","render","_h","this","$createElement","_self","_c","attrs","isOnlyShowDetail","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"4GAQAA,GACAC,KADA,WAEA,UAGAC,YAAAC,iBAAA,GACAC,WAEAC,QARA,cCLeC,GADEC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,UAAoBK,OAAOC,kBAAA,MAEnGC,oBCCjB,IAcAC,EAdyBC,EAAQ,OAcjCC,CACElB,EACAM,GATF,EAVA,SAAAa,GACEF,EAAQ,SAaV,kBAEA,MAUeG,EAAA,QAAAJ,EAAiB","file":"static/js/15.d80f5cf2fd51d72b22ea.js","sourcesContent":["<template>\r\n <common :isOnlyShowDetail=\"true\">\r\n </common>\r\n</template>\r\n\r\n<script>\r\nimport common from '@/views/interface/common'\r\n\r\nexport default {\r\n data () {\r\n return {\r\n }\r\n },\r\n components: { common },\r\n methods: {\r\n },\r\n created () {\r\n },\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/interface/detail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('common',{attrs:{\"isOnlyShowDetail\":true}})}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-d65c96a6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/interface/detail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d65c96a6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./detail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./detail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./detail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d65c96a6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./detail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-d65c96a6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/interface/detail.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/interface/detail.vue","webpack:///./src/views/interface/detail.vue?d651","webpack:///./src/views/interface/detail.vue"],"names":["detail","data","components","common","methods","created","interface_detail","render","_h","this","$createElement","_self","_c","attrs","isOnlyShowDetail","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"4GAQAA,GACAC,KADA,WAEA,UAGAC,YAAAC,iBAAA,GACAC,WAEAC,QARA,cCLeC,GADEC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,UAAoBK,OAAOC,kBAAA,MAEnGC,oBCCjB,IAcAC,EAdyBC,EAAQ,OAcjCC,CACElB,EACAM,GATF,EAVA,SAAAa,GACEF,EAAQ,SAaV,kBAEA,MAUeG,EAAA,QAAAJ,EAAiB","file":"static/js/16.9a6082d7311beb531ffe.js","sourcesContent":["<template>\r\n <common :isOnlyShowDetail=\"true\">\r\n </common>\r\n</template>\r\n\r\n<script>\r\nimport common from '@/views/interface/common'\r\n\r\nexport default {\r\n data () {\r\n return {\r\n }\r\n },\r\n components: { common },\r\n methods: {\r\n },\r\n created () {\r\n },\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/interface/detail.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('common',{attrs:{\"isOnlyShowDetail\":true}})}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-d65c96a6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/interface/detail.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d65c96a6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./detail.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./detail.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./detail.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d65c96a6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./detail.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-d65c96a6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/interface/detail.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([16],{"7dhh":function(e,t){},DuIM:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={data:function(){return{}},components:{common:n("u2+N").a},methods:{},created:function(){}},c={render:function(){var e=this.$createElement;return(this._self._c||e)("common",{attrs:{isOnlyShowDetail:!1}})},staticRenderFns:[]};var r=n("VU/8")(o,c,!1,function(e){n("7dhh")},"data-v-be8f54dc",null);t.default=r.exports}});
//# sourceMappingURL=16.2ca69ffb53da98b61da4.js.map
\ No newline at end of file
webpackJsonp([17],{"7dhh":function(e,t){},DuIM:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={data:function(){return{}},components:{common:n("u2+N").a},methods:{},created:function(){}},c={render:function(){var e=this.$createElement;return(this._self._c||e)("common",{attrs:{isOnlyShowDetail:!1}})},staticRenderFns:[]};var r=n("VU/8")(o,c,!1,function(e){n("7dhh")},"data-v-be8f54dc",null);t.default=r.exports}});
//# sourceMappingURL=17.ca3a537c0792f7b8e00f.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/interface/update.vue","webpack:///./src/views/interface/update.vue?acfa","webpack:///./src/views/interface/update.vue"],"names":["update","data","components","common","methods","created","interface_update","render","_h","this","$createElement","_self","_c","attrs","isOnlyShowDetail","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"iIAQAA,GACAC,KADA,WAEA,UAGAC,YAAAC,iBAAA,GACAC,WAEAC,QARA,cCLeC,GADEC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,UAAoBK,OAAOC,kBAAA,MAEnGC,oBCCjB,IAcAC,EAdyBC,EAAQ,OAcjCC,CACElB,EACAM,GATF,EAVA,SAAAa,GACEF,EAAQ,SAaV,kBAEA,MAUeG,EAAA,QAAAJ,EAAiB","file":"static/js/16.2ca69ffb53da98b61da4.js","sourcesContent":["<template>\r\n <common :isOnlyShowDetail=\"false\">\r\n </common>\r\n</template>\r\n\r\n<script>\r\nimport common from '@/views/interface/common'\r\n\r\nexport default {\r\n data () {\r\n return {\r\n }\r\n },\r\n components: { common },\r\n methods: {\r\n },\r\n created () {\r\n },\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/interface/update.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('common',{attrs:{\"isOnlyShowDetail\":false}})}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-be8f54dc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/interface/update.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-be8f54dc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./update.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./update.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./update.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-be8f54dc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./update.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-be8f54dc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/interface/update.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/interface/update.vue","webpack:///./src/views/interface/update.vue?acfa","webpack:///./src/views/interface/update.vue"],"names":["update","data","components","common","methods","created","interface_update","render","_h","this","$createElement","_self","_c","attrs","isOnlyShowDetail","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"iIAQAA,GACAC,KADA,WAEA,UAGAC,YAAAC,iBAAA,GACAC,WAEAC,QARA,cCLeC,GADEC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,UAAoBK,OAAOC,kBAAA,MAEnGC,oBCCjB,IAcAC,EAdyBC,EAAQ,OAcjCC,CACElB,EACAM,GATF,EAVA,SAAAa,GACEF,EAAQ,SAaV,kBAEA,MAUeG,EAAA,QAAAJ,EAAiB","file":"static/js/17.ca3a537c0792f7b8e00f.js","sourcesContent":["<template>\r\n <common :isOnlyShowDetail=\"false\">\r\n </common>\r\n</template>\r\n\r\n<script>\r\nimport common from '@/views/interface/common'\r\n\r\nexport default {\r\n data () {\r\n return {\r\n }\r\n },\r\n components: { common },\r\n methods: {\r\n },\r\n created () {\r\n },\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/interface/update.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('common',{attrs:{\"isOnlyShowDetail\":false}})}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-be8f54dc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/interface/update.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-be8f54dc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./update.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./update.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./update.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-be8f54dc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./update.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-be8f54dc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/interface/update.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([17],{"+79G":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("mvHQ"),o=a.n(n),l=a("mw3O"),i=a.n(l),r={name:"group",components:{},data:function(){return{loading:!0,lists:[],tableData:[],currentPageNum:1,currentPageSize:10,totalItemCount:0,searchText:"",ShowTokenDialog:!1,clientTokenValue:"",serverSseUrlAddress:"",createform:{name:""},updateform:{id:0,name:""},rules:{name:[{required:!0,message:"名称不能为空",trigger:"blur"}]},createFormVisible:!1,updateFormVisible:!1}},methods:{loadData:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1//mcp/client/listAll",data:o()({page:this.currentPageNum,size:this.currentPageSize,searchText:this.searchText})}).then(function(t){0===t.data.code?(e.totalItemCount=t.data.pagination.total,e.tableData=t.data.data):alert("加载数据失败:"+t.data.message)})},loadManagerAddress:function(e){var t=this;this.$http({method:"GET",url:"/sqlrest/manager/api/v1/mcp/client/endpoint"}).then(function(a){t.serverSseUrlAddress="",0===a.data.code?a.data.data&&"string"==typeof a.data.data&&(t.serverSseUrlAddress=a.data.data+e):a.data.message&&alert("加载数据失败:"+a.data.message)})},handleClose:function(e){},handleDelete:function(e,t){var a=this;this.$confirm("此操作将此令牌ID="+t.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/mcp/client/delete/"+t.id).then(function(e){0===e.data.code?a.loadData():alert("删除失败:"+e.data.message)})})},addGroup:function(){this.createFormVisible=!0,this.createform={}},handleCreate:function(){var e=this;this.$refs.createform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/mcp/client/create",data:i.a.stringify({name:e.createform.name})}).then(function(t){0===t.data.code?(e.createFormVisible=!1,e.$message("添加成功"),e.createform={},e.loadData()):alert("添加失败:"+t.data.message)}):alert("请检查输入")})},handleShowToken:function(e,t){this.loadManagerAddress(t.token),this.clientTokenValue=t.token,this.ShowTokenDialog=!0},handleCopyTokenText:function(){document.getElementById("tokenTextInput").select(),document.execCommand("copy"),this.$message.success("复制令牌成功")},handleCopyAddressText:function(){document.getElementById("addressTextInput").select(),document.execCommand("copy"),this.$message.success("复制URL成功")},handleUpdate:function(e,t){this.updateform=JSON.parse(o()(t)),this.updateFormVisible=!0},handleSave:function(){var e=this;this.$refs.updateform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/mcp/client/update/"+e.updateform.id,data:i.a.stringify({name:e.updateform.name})}).then(function(t){0===t.data.code?(e.updateFormVisible=!1,e.$message("修改成功"),e.loadData(),e.updateform={}):alert("修改失败:"+t.data.message)}):alert("请检查输入")})},handleSizeChange:function(e){this.currentPageSize=e,this.loadData()},handleCurrentChange:function(e){this.currentPageNum=e,this.loadData()},searchByKeyword:function(){this.currentPage=1,this.loadData()}},mounted:function(){this.loadData()}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-card",[a("div",{staticClass:"group-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"名称搜索",size:"mini",clearable:!0},on:{change:e.searchByKeyword},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}})],1)]),e._v(" "),a("div",{staticClass:"right-add-button-group"},[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:e.addGroup}},[e._v("添加")])],1)]),e._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:e.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"5%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"名称","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"updateTime",label:"更新时间","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"35%"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button-group",[a("el-button",{attrs:{size:"small",type:"danger",icon:"el-icon-document",round:""},on:{click:function(a){return e.handleShowToken(t.$index,t.row)}}},[e._v("查看")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-edit",round:""},on:{click:function(a){return e.handleUpdate(t.$index,t.row)}}},[e._v("编辑")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-delete",round:""},on:{click:function(a){return e.handleDelete(t.$index,t.row)}}},[e._v("删除")])],1)]}}])})],1),e._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":e.currentPageNum,"page-sizes":[5,10,20,40],"page-size":e.currentPageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalItemCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("el-dialog",{attrs:{title:"查看",visible:e.ShowTokenDialog},on:{"update:visible":function(t){e.ShowTokenDialog=t}}},[a("el-form",{attrs:{size:"mini","status-icon":""}},[a("el-form-item",{staticStyle:{width:"100%"},attrs:{label:"MCP令牌","label-width":"100px"}},[a("el-input",{staticStyle:{width:"60%"},attrs:{type:"input",spellcheck:!1,id:"tokenTextInput"},model:{value:e.clientTokenValue,callback:function(t){e.clientTokenValue=t},expression:"clientTokenValue"}}),e._v(" "),a("el-button",{on:{click:e.handleCopyTokenText}},[e._v("点击复制")])],1),e._v(" "),a("el-form-item",{staticStyle:{width:"100%"},attrs:{label:"MCP地址","label-width":"100px"}},[a("el-input",{staticStyle:{width:"80%"},attrs:{type:"input",spellcheck:!1,id:"addressTextInput"},model:{value:e.serverSseUrlAddress,callback:function(t){e.serverSseUrlAddress=t},expression:"serverSseUrlAddress"}}),e._v(" "),a("el-button",{staticStyle:{width:"10%"},on:{click:e.handleCopyAddressText}},[e._v("点击复制")])],1)],1),e._v(" "),a("span",{attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.ShowTokenDialog=!1}}},[e._v("取消")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"添加信息",visible:e.createFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.createFormVisible=t}}},[a("el-form",{ref:"createform",attrs:{model:e.createform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"令牌名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.name,callback:function(t){e.$set(e.createform,"name",t)},expression:"createform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.createFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleCreate}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"修改信息",visible:e.updateFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.updateFormVisible=t}}},[a("el-form",{ref:"updateform",attrs:{model:e.updateform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"令牌名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.updateform.name,callback:function(t){e.$set(e.updateform,"name",t)},expression:"updateform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.updateFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleSave}},[e._v("确 定")])],1)],1)],1)],1)},staticRenderFns:[]};var d=a("VU/8")(r,s,!1,function(e){a("bw2B")},"data-v-7a43d070",null);t.default=d.exports},bw2B:function(e,t){}});
//# sourceMappingURL=17.64a6906a4b77392d43c7.js.map
\ No newline at end of file
webpackJsonp([18],{"+79G":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("mvHQ"),o=a.n(n),l=a("mw3O"),i=a.n(l),r={name:"group",components:{},data:function(){return{loading:!0,lists:[],tableData:[],currentPageNum:1,currentPageSize:10,totalItemCount:0,searchText:"",ShowTokenDialog:!1,clientTokenValue:"",serverSseUrlAddress:"",createform:{name:""},updateform:{id:0,name:""},rules:{name:[{required:!0,message:"名称不能为空",trigger:"blur"}]},createFormVisible:!1,updateFormVisible:!1}},methods:{loadData:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1//mcp/client/listAll",data:o()({page:this.currentPageNum,size:this.currentPageSize,searchText:this.searchText})}).then(function(t){0===t.data.code?(e.totalItemCount=t.data.pagination.total,e.tableData=t.data.data):alert("加载数据失败:"+t.data.message)})},loadManagerAddress:function(e){var t=this;this.$http({method:"GET",url:"/sqlrest/manager/api/v1/mcp/client/endpoint"}).then(function(a){t.serverSseUrlAddress="",0===a.data.code?a.data.data&&"string"==typeof a.data.data&&(t.serverSseUrlAddress=a.data.data+e):a.data.message&&alert("加载数据失败:"+a.data.message)})},handleClose:function(e){},handleDelete:function(e,t){var a=this;this.$confirm("此操作将此令牌ID="+t.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/mcp/client/delete/"+t.id).then(function(e){0===e.data.code?a.loadData():alert("删除失败:"+e.data.message)})})},addGroup:function(){this.createFormVisible=!0,this.createform={}},handleCreate:function(){var e=this;this.$refs.createform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/mcp/client/create",data:i.a.stringify({name:e.createform.name})}).then(function(t){0===t.data.code?(e.createFormVisible=!1,e.$message("添加成功"),e.createform={},e.loadData()):alert("添加失败:"+t.data.message)}):alert("请检查输入")})},handleShowToken:function(e,t){this.loadManagerAddress(t.token),this.clientTokenValue=t.token,this.ShowTokenDialog=!0},handleCopyTokenText:function(){document.getElementById("tokenTextInput").select(),document.execCommand("copy"),this.$message.success("复制令牌成功")},handleCopyAddressText:function(){document.getElementById("addressTextInput").select(),document.execCommand("copy"),this.$message.success("复制URL成功")},handleUpdate:function(e,t){this.updateform=JSON.parse(o()(t)),this.updateFormVisible=!0},handleSave:function(){var e=this;this.$refs.updateform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/mcp/client/update/"+e.updateform.id,data:i.a.stringify({name:e.updateform.name})}).then(function(t){0===t.data.code?(e.updateFormVisible=!1,e.$message("修改成功"),e.loadData(),e.updateform={}):alert("修改失败:"+t.data.message)}):alert("请检查输入")})},handleSizeChange:function(e){this.currentPageSize=e,this.loadData()},handleCurrentChange:function(e){this.currentPageNum=e,this.loadData()},searchByKeyword:function(){this.currentPage=1,this.loadData()}},mounted:function(){this.loadData()}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-card",[a("div",{staticClass:"group-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"名称搜索",size:"mini",clearable:!0},on:{change:e.searchByKeyword},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}})],1)]),e._v(" "),a("div",{staticClass:"right-add-button-group"},[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:e.addGroup}},[e._v("添加")])],1)]),e._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:e.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"5%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"名称","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"updateTime",label:"更新时间","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"35%"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button-group",[a("el-button",{attrs:{size:"small",type:"danger",icon:"el-icon-document",round:""},on:{click:function(a){return e.handleShowToken(t.$index,t.row)}}},[e._v("查看")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-edit",round:""},on:{click:function(a){return e.handleUpdate(t.$index,t.row)}}},[e._v("编辑")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-delete",round:""},on:{click:function(a){return e.handleDelete(t.$index,t.row)}}},[e._v("删除")])],1)]}}])})],1),e._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":e.currentPageNum,"page-sizes":[5,10,20,40],"page-size":e.currentPageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalItemCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("el-dialog",{attrs:{title:"查看",visible:e.ShowTokenDialog},on:{"update:visible":function(t){e.ShowTokenDialog=t}}},[a("el-form",{attrs:{size:"mini","status-icon":""}},[a("el-form-item",{staticStyle:{width:"100%"},attrs:{label:"MCP令牌","label-width":"100px"}},[a("el-input",{staticStyle:{width:"60%"},attrs:{type:"input",spellcheck:!1,id:"tokenTextInput"},model:{value:e.clientTokenValue,callback:function(t){e.clientTokenValue=t},expression:"clientTokenValue"}}),e._v(" "),a("el-button",{on:{click:e.handleCopyTokenText}},[e._v("点击复制")])],1),e._v(" "),a("el-form-item",{staticStyle:{width:"100%"},attrs:{label:"MCP地址","label-width":"100px"}},[a("el-input",{staticStyle:{width:"80%"},attrs:{type:"input",spellcheck:!1,id:"addressTextInput"},model:{value:e.serverSseUrlAddress,callback:function(t){e.serverSseUrlAddress=t},expression:"serverSseUrlAddress"}}),e._v(" "),a("el-button",{staticStyle:{width:"10%"},on:{click:e.handleCopyAddressText}},[e._v("点击复制")])],1)],1),e._v(" "),a("span",{attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.ShowTokenDialog=!1}}},[e._v("取消")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"添加信息",visible:e.createFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.createFormVisible=t}}},[a("el-form",{ref:"createform",attrs:{model:e.createform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"令牌名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.name,callback:function(t){e.$set(e.createform,"name",t)},expression:"createform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.createFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleCreate}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"修改信息",visible:e.updateFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.updateFormVisible=t}}},[a("el-form",{ref:"updateform",attrs:{model:e.updateform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"令牌名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.updateform.name,callback:function(t){e.$set(e.updateform,"name",t)},expression:"updateform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.updateFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleSave}},[e._v("确 定")])],1)],1)],1)],1)},staticRenderFns:[]};var d=a("VU/8")(r,s,!1,function(e){a("bw2B")},"data-v-7a43d070",null);t.default=d.exports},bw2B:function(e,t){}});
//# sourceMappingURL=18.5096122498e2cfe23bfa.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/mcp/client.vue","webpack:///./src/views/mcp/client.vue?84ad","webpack:///./src/views/mcp/client.vue"],"names":["client","name","components","data","loading","lists","tableData","currentPageNum","currentPageSize","totalItemCount","searchText","ShowTokenDialog","clientTokenValue","serverSseUrlAddress","createform","updateform","id","rules","required","message","trigger","createFormVisible","updateFormVisible","methods","loadData","_this","this","$http","method","headers","Content-Type","url","stringify_default","page","size","then","res","code","pagination","total","alert","loadManagerAddress","token","_this2","handleClose","done","handleDelete","index","row","_this3","$confirm","confirmButtonText","cancelButtonText","type","delete","addGroup","handleCreate","_this4","$refs","validate","valid","lib_default","a","stringify","$message","handleShowToken","handleCopyTokenText","document","getElementById","select","execCommand","success","handleCopyAddressText","handleUpdate","JSON","parse","handleSave","_this5","handleSizeChange","pageSize","handleCurrentChange","currentPage","searchByKeyword","mounted","mcp_client","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","placeholder","clearable","on","change","model","value","callback","$$v","expression","_v","icon","click","header-cell-style","background","color","border","prop","label","min-width","show-overflow-tooltip","scopedSlots","_u","key","fn","scope","round","$event","$index","align","current-page","page-sizes","page-size","layout","size-change","current-change","title","visible","update:visible","status-icon","label-width","spellcheck","slot","showClose","before-close","ref","auto-complete","$set","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/17.64a6906a4b77392d43c7.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"group-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-input placeholder=\"名称搜索\"\r\n size=\"mini\"\r\n v-model=\"searchText\"\r\n :clearable=true\r\n style=\"width:300px\"\r\n @change=\"searchByKeyword\">\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"right-add-button-group\">\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"addGroup\">添加</el-button>\r\n </div>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"5%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"名称\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"updateTime\"\r\n label=\"更新时间\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"35%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"danger\"\r\n icon=\"el-icon-document\"\r\n @click=\"handleShowToken(scope.$index, scope.row)\"\r\n round>查看</el-button>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleUpdate(scope.$index, scope.row)\"\r\n round>编辑</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPageNum\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"currentPageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalItemCount\"></el-pagination>\r\n </div>\r\n\r\n <el-dialog title=\"查看\"\r\n :visible.sync=\"ShowTokenDialog\">\r\n <el-form size=\"mini\"\r\n status-icon>\r\n <el-form-item label=\"MCP令牌\"\r\n label-width=\"100px\"\r\n style=\"width:100%\">\r\n <el-input type=\"input\"\r\n style=\"width:60%\"\r\n :spellcheck=\"false\"\r\n id=\"tokenTextInput\"\r\n v-model=\"clientTokenValue\"></el-input>\r\n <el-button @click=\"handleCopyTokenText\">点击复制</el-button>\r\n </el-form-item>\r\n <el-form-item label=\"MCP地址\"\r\n label-width=\"100px\"\r\n style=\"width:100%\">\r\n <el-input type=\"input\"\r\n style=\"width:80%\"\r\n :spellcheck=\"false\"\r\n id=\"addressTextInput\"\r\n v-model=\"serverSseUrlAddress\"></el-input>\r\n <el-button style=\"width:10%\"\r\n @click=\"handleCopyAddressText\">点击复制</el-button>\r\n </el-form-item>\r\n </el-form>\r\n <span slot=\"footer\">\r\n <el-button @click=\"ShowTokenDialog = false\">取消</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"添加信息\"\r\n :visible.sync=\"createFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"createform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"createform\">\r\n <el-form-item label=\"令牌名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"createFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleCreate\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"修改信息\"\r\n :visible.sync=\"updateFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"updateform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"updateform\">\r\n <el-form-item label=\"令牌名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"updateform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"updateFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleSave\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport qs from \"qs\";\r\n\r\nexport default {\r\n name: \"group\",\r\n components: {\r\n },\r\n data () {\r\n return {\r\n loading: true,\r\n lists: [],\r\n tableData: [\r\n ],\r\n currentPageNum: 1,\r\n currentPageSize: 10,\r\n totalItemCount: 0,\r\n searchText: '',\r\n ShowTokenDialog: false,\r\n clientTokenValue: '',\r\n serverSseUrlAddress: '',\r\n createform: {\r\n name: \"\",\r\n },\r\n updateform: {\r\n id: 0,\r\n name: \"\",\r\n },\r\n rules: {\r\n name: [\r\n {\r\n required: true,\r\n message: \"名称不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ]\r\n },\r\n createFormVisible: false,\r\n updateFormVisible: false\r\n }\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1//mcp/client/listAll\",\r\n data: JSON.stringify({\r\n page: this.currentPageNum,\r\n size: this.currentPageSize,\r\n searchText: this.searchText\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.totalItemCount = res.data.pagination.total\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n loadManagerAddress: function (token) {\r\n this.$http({\r\n method: \"GET\",\r\n url: \"/sqlrest/manager/api/v1/mcp/client/endpoint\"\r\n }).then(\r\n res => {\r\n this.serverSseUrlAddress = '';\r\n if (0 === res.data.code) {\r\n if (res.data.data && typeof res.data.data === 'string') {\r\n this.serverSseUrlAddress = res.data.data + token;\r\n }\r\n } else {\r\n if (res.data.message) {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }\r\n }\r\n );\r\n },\r\n handleClose (done) {\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此令牌ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/mcp/client/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n });\r\n });\r\n },\r\n addGroup: function () {\r\n this.createFormVisible = true;\r\n this.createform = {};\r\n },\r\n handleCreate: function () {\r\n this.$refs['createform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/mcp/client/create\",\r\n data: qs.stringify({\r\n name: this.createform.name\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.createFormVisible = false;\r\n this.$message(\"添加成功\");\r\n this.createform = {};\r\n this.loadData();\r\n } else {\r\n alert(\"添加失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleShowToken: function (index, row) {\r\n this.loadManagerAddress(row.token);\r\n this.clientTokenValue = row.token;\r\n this.ShowTokenDialog = true\r\n },\r\n handleCopyTokenText: function () {\r\n var d = document.getElementById(\"tokenTextInput\")\r\n d.select() //选中\r\n document.execCommand(\"copy\")\r\n this.$message.success(\"复制令牌成功\")\r\n },\r\n handleCopyAddressText: function () {\r\n var d = document.getElementById(\"addressTextInput\")\r\n d.select() //选中\r\n document.execCommand(\"copy\")\r\n this.$message.success(\"复制URL成功\")\r\n },\r\n handleUpdate: function (index, row) {\r\n this.updateform = JSON.parse(JSON.stringify(row));\r\n this.updateFormVisible = true;\r\n },\r\n handleSave: function () {\r\n this.$refs['updateform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/mcp/client/update/\" + this.updateform.id,\r\n data: qs.stringify({\r\n name: this.updateform.name,\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.updateFormVisible = false;\r\n this.$message(\"修改成功\");\r\n this.loadData();\r\n this.updateform = {};\r\n } else {\r\n alert(\"修改失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.currentPageSize = pageSize;\r\n this.loadData();\r\n },\r\n handleCurrentChange: function (currentPage) {\r\n this.currentPageNum = currentPage;\r\n this.loadData();\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n },\r\n mounted () {\r\n this.loadData();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n.group-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n width: 300px;\r\n margin-right: auto;\r\n margin: 10px 5px;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-right: 5px;\r\n margin: 10px 5px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/mcp/client.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"group-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"placeholder\":\"名称搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"right-add-button-group\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.addGroup}},[_vm._v(\"添加\")])],1)]),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"5%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"updateTime\",\"label\":\"更新时间\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleShowToken(scope.$index, scope.row)}}},[_vm._v(\"查看\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-edit\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleUpdate(scope.$index, scope.row)}}},[_vm._v(\"编辑\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")])],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPageNum,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.currentPageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalItemCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"查看\",\"visible\":_vm.ShowTokenDialog},on:{\"update:visible\":function($event){_vm.ShowTokenDialog=$event}}},[_c('el-form',{attrs:{\"size\":\"mini\",\"status-icon\":\"\"}},[_c('el-form-item',{staticStyle:{\"width\":\"100%\"},attrs:{\"label\":\"MCP令牌\",\"label-width\":\"100px\"}},[_c('el-input',{staticStyle:{\"width\":\"60%\"},attrs:{\"type\":\"input\",\"spellcheck\":false,\"id\":\"tokenTextInput\"},model:{value:(_vm.clientTokenValue),callback:function ($$v) {_vm.clientTokenValue=$$v},expression:\"clientTokenValue\"}}),_vm._v(\" \"),_c('el-button',{on:{\"click\":_vm.handleCopyTokenText}},[_vm._v(\"点击复制\")])],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"100%\"},attrs:{\"label\":\"MCP地址\",\"label-width\":\"100px\"}},[_c('el-input',{staticStyle:{\"width\":\"80%\"},attrs:{\"type\":\"input\",\"spellcheck\":false,\"id\":\"addressTextInput\"},model:{value:(_vm.serverSseUrlAddress),callback:function ($$v) {_vm.serverSseUrlAddress=$$v},expression:\"serverSseUrlAddress\"}}),_vm._v(\" \"),_c('el-button',{staticStyle:{\"width\":\"10%\"},on:{\"click\":_vm.handleCopyAddressText}},[_vm._v(\"点击复制\")])],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.ShowTokenDialog = false}}},[_vm._v(\"取消\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"添加信息\",\"visible\":_vm.createFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.createFormVisible=$event}}},[_c('el-form',{ref:\"createform\",attrs:{\"model\":_vm.createform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"令牌名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.name),callback:function ($$v) {_vm.$set(_vm.createform, \"name\", $$v)},expression:\"createform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.createFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"修改信息\",\"visible\":_vm.updateFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.updateFormVisible=$event}}},[_c('el-form',{ref:\"updateform\",attrs:{\"model\":_vm.updateform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"令牌名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.updateform.name),callback:function ($$v) {_vm.$set(_vm.updateform, \"name\", $$v)},expression:\"updateform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.updateFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"确 定\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7a43d070\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/mcp/client.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7a43d070\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./client.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./client.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./client.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7a43d070\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./client.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7a43d070\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/mcp/client.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/mcp/client.vue","webpack:///./src/views/mcp/client.vue?84ad","webpack:///./src/views/mcp/client.vue"],"names":["client","name","components","data","loading","lists","tableData","currentPageNum","currentPageSize","totalItemCount","searchText","ShowTokenDialog","clientTokenValue","serverSseUrlAddress","createform","updateform","id","rules","required","message","trigger","createFormVisible","updateFormVisible","methods","loadData","_this","this","$http","method","headers","Content-Type","url","stringify_default","page","size","then","res","code","pagination","total","alert","loadManagerAddress","token","_this2","handleClose","done","handleDelete","index","row","_this3","$confirm","confirmButtonText","cancelButtonText","type","delete","addGroup","handleCreate","_this4","$refs","validate","valid","lib_default","a","stringify","$message","handleShowToken","handleCopyTokenText","document","getElementById","select","execCommand","success","handleCopyAddressText","handleUpdate","JSON","parse","handleSave","_this5","handleSizeChange","pageSize","handleCurrentChange","currentPage","searchByKeyword","mounted","mcp_client","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","placeholder","clearable","on","change","model","value","callback","$$v","expression","_v","icon","click","header-cell-style","background","color","border","prop","label","min-width","show-overflow-tooltip","scopedSlots","_u","key","fn","scope","round","$event","$index","align","current-page","page-sizes","page-size","layout","size-change","current-change","title","visible","update:visible","status-icon","label-width","spellcheck","slot","showClose","before-close","ref","auto-complete","$set","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/18.5096122498e2cfe23bfa.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"group-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-input placeholder=\"名称搜索\"\r\n size=\"mini\"\r\n v-model=\"searchText\"\r\n :clearable=true\r\n style=\"width:300px\"\r\n @change=\"searchByKeyword\">\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"right-add-button-group\">\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"addGroup\">添加</el-button>\r\n </div>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"5%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"名称\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"updateTime\"\r\n label=\"更新时间\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"35%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"danger\"\r\n icon=\"el-icon-document\"\r\n @click=\"handleShowToken(scope.$index, scope.row)\"\r\n round>查看</el-button>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleUpdate(scope.$index, scope.row)\"\r\n round>编辑</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPageNum\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"currentPageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalItemCount\"></el-pagination>\r\n </div>\r\n\r\n <el-dialog title=\"查看\"\r\n :visible.sync=\"ShowTokenDialog\">\r\n <el-form size=\"mini\"\r\n status-icon>\r\n <el-form-item label=\"MCP令牌\"\r\n label-width=\"100px\"\r\n style=\"width:100%\">\r\n <el-input type=\"input\"\r\n style=\"width:60%\"\r\n :spellcheck=\"false\"\r\n id=\"tokenTextInput\"\r\n v-model=\"clientTokenValue\"></el-input>\r\n <el-button @click=\"handleCopyTokenText\">点击复制</el-button>\r\n </el-form-item>\r\n <el-form-item label=\"MCP地址\"\r\n label-width=\"100px\"\r\n style=\"width:100%\">\r\n <el-input type=\"input\"\r\n style=\"width:80%\"\r\n :spellcheck=\"false\"\r\n id=\"addressTextInput\"\r\n v-model=\"serverSseUrlAddress\"></el-input>\r\n <el-button style=\"width:10%\"\r\n @click=\"handleCopyAddressText\">点击复制</el-button>\r\n </el-form-item>\r\n </el-form>\r\n <span slot=\"footer\">\r\n <el-button @click=\"ShowTokenDialog = false\">取消</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"添加信息\"\r\n :visible.sync=\"createFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"createform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"createform\">\r\n <el-form-item label=\"令牌名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"createFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleCreate\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"修改信息\"\r\n :visible.sync=\"updateFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"updateform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"updateform\">\r\n <el-form-item label=\"令牌名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"updateform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"updateFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleSave\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport qs from \"qs\";\r\n\r\nexport default {\r\n name: \"group\",\r\n components: {\r\n },\r\n data () {\r\n return {\r\n loading: true,\r\n lists: [],\r\n tableData: [\r\n ],\r\n currentPageNum: 1,\r\n currentPageSize: 10,\r\n totalItemCount: 0,\r\n searchText: '',\r\n ShowTokenDialog: false,\r\n clientTokenValue: '',\r\n serverSseUrlAddress: '',\r\n createform: {\r\n name: \"\",\r\n },\r\n updateform: {\r\n id: 0,\r\n name: \"\",\r\n },\r\n rules: {\r\n name: [\r\n {\r\n required: true,\r\n message: \"名称不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ]\r\n },\r\n createFormVisible: false,\r\n updateFormVisible: false\r\n }\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1//mcp/client/listAll\",\r\n data: JSON.stringify({\r\n page: this.currentPageNum,\r\n size: this.currentPageSize,\r\n searchText: this.searchText\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.totalItemCount = res.data.pagination.total\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n loadManagerAddress: function (token) {\r\n this.$http({\r\n method: \"GET\",\r\n url: \"/sqlrest/manager/api/v1/mcp/client/endpoint\"\r\n }).then(\r\n res => {\r\n this.serverSseUrlAddress = '';\r\n if (0 === res.data.code) {\r\n if (res.data.data && typeof res.data.data === 'string') {\r\n this.serverSseUrlAddress = res.data.data + token;\r\n }\r\n } else {\r\n if (res.data.message) {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }\r\n }\r\n );\r\n },\r\n handleClose (done) {\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此令牌ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/mcp/client/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n });\r\n });\r\n },\r\n addGroup: function () {\r\n this.createFormVisible = true;\r\n this.createform = {};\r\n },\r\n handleCreate: function () {\r\n this.$refs['createform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/mcp/client/create\",\r\n data: qs.stringify({\r\n name: this.createform.name\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.createFormVisible = false;\r\n this.$message(\"添加成功\");\r\n this.createform = {};\r\n this.loadData();\r\n } else {\r\n alert(\"添加失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleShowToken: function (index, row) {\r\n this.loadManagerAddress(row.token);\r\n this.clientTokenValue = row.token;\r\n this.ShowTokenDialog = true\r\n },\r\n handleCopyTokenText: function () {\r\n var d = document.getElementById(\"tokenTextInput\")\r\n d.select() //选中\r\n document.execCommand(\"copy\")\r\n this.$message.success(\"复制令牌成功\")\r\n },\r\n handleCopyAddressText: function () {\r\n var d = document.getElementById(\"addressTextInput\")\r\n d.select() //选中\r\n document.execCommand(\"copy\")\r\n this.$message.success(\"复制URL成功\")\r\n },\r\n handleUpdate: function (index, row) {\r\n this.updateform = JSON.parse(JSON.stringify(row));\r\n this.updateFormVisible = true;\r\n },\r\n handleSave: function () {\r\n this.$refs['updateform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/mcp/client/update/\" + this.updateform.id,\r\n data: qs.stringify({\r\n name: this.updateform.name,\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.updateFormVisible = false;\r\n this.$message(\"修改成功\");\r\n this.loadData();\r\n this.updateform = {};\r\n } else {\r\n alert(\"修改失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.currentPageSize = pageSize;\r\n this.loadData();\r\n },\r\n handleCurrentChange: function (currentPage) {\r\n this.currentPageNum = currentPage;\r\n this.loadData();\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n },\r\n mounted () {\r\n this.loadData();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n.group-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n width: 300px;\r\n margin-right: auto;\r\n margin: 10px 5px;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-right: 5px;\r\n margin: 10px 5px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/mcp/client.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"group-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"placeholder\":\"名称搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"right-add-button-group\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.addGroup}},[_vm._v(\"添加\")])],1)]),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"5%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"updateTime\",\"label\":\"更新时间\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleShowToken(scope.$index, scope.row)}}},[_vm._v(\"查看\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-edit\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleUpdate(scope.$index, scope.row)}}},[_vm._v(\"编辑\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")])],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPageNum,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.currentPageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalItemCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"查看\",\"visible\":_vm.ShowTokenDialog},on:{\"update:visible\":function($event){_vm.ShowTokenDialog=$event}}},[_c('el-form',{attrs:{\"size\":\"mini\",\"status-icon\":\"\"}},[_c('el-form-item',{staticStyle:{\"width\":\"100%\"},attrs:{\"label\":\"MCP令牌\",\"label-width\":\"100px\"}},[_c('el-input',{staticStyle:{\"width\":\"60%\"},attrs:{\"type\":\"input\",\"spellcheck\":false,\"id\":\"tokenTextInput\"},model:{value:(_vm.clientTokenValue),callback:function ($$v) {_vm.clientTokenValue=$$v},expression:\"clientTokenValue\"}}),_vm._v(\" \"),_c('el-button',{on:{\"click\":_vm.handleCopyTokenText}},[_vm._v(\"点击复制\")])],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"100%\"},attrs:{\"label\":\"MCP地址\",\"label-width\":\"100px\"}},[_c('el-input',{staticStyle:{\"width\":\"80%\"},attrs:{\"type\":\"input\",\"spellcheck\":false,\"id\":\"addressTextInput\"},model:{value:(_vm.serverSseUrlAddress),callback:function ($$v) {_vm.serverSseUrlAddress=$$v},expression:\"serverSseUrlAddress\"}}),_vm._v(\" \"),_c('el-button',{staticStyle:{\"width\":\"10%\"},on:{\"click\":_vm.handleCopyAddressText}},[_vm._v(\"点击复制\")])],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.ShowTokenDialog = false}}},[_vm._v(\"取消\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"添加信息\",\"visible\":_vm.createFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.createFormVisible=$event}}},[_c('el-form',{ref:\"createform\",attrs:{\"model\":_vm.createform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"令牌名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.name),callback:function ($$v) {_vm.$set(_vm.createform, \"name\", $$v)},expression:\"createform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.createFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"修改信息\",\"visible\":_vm.updateFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.updateFormVisible=$event}}},[_c('el-form',{ref:\"updateform\",attrs:{\"model\":_vm.updateform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"令牌名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.updateform.name),callback:function ($$v) {_vm.$set(_vm.updateform, \"name\", $$v)},expression:\"updateform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.updateFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"确 定\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7a43d070\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/mcp/client.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7a43d070\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./client.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./client.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./client.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7a43d070\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./client.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7a43d070\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/mcp/client.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([19],{Lgzm:function(e,t){},"T+/8":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});r("mw3O");var a={data:function(){return{logining:!1,ruleForm2:{username:"",password:""},rules2:{username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},checked:!1}},created:function(){var e=this;document.onkeydown=function(t){13==window.event.keyCode&&e.handleSubmit(t)}},methods:{handleSubmit:function(){var e=this;this.$refs.ruleForm2.validate(function(t){t&&e.$http({method:"POST",url:"/user/login",data:{username:e.ruleForm2.username,password:e.ruleForm2.password}}).then(function(t){0===t.data.code?(e.logining=!0,window.sessionStorage.setItem("token",t.data.data.accessToken),window.sessionStorage.setItem("username",e.ruleForm2.username),window.sessionStorage.setItem("realname",t.data.data.realName),e.$http.get("/sqlrest/manager/api/v1/health/version").then(function(e){0===e.data.code&&window.sessionStorage.setItem("version",e.data.data)}),e.$router.push({path:"/dashboard"})):(e.logining=!1,e.$message(t.data.message))})})}}},s={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"login-container"},[r("el-form",{ref:"ruleForm2",staticClass:"demo-ruleForm login-page",attrs:{model:e.ruleForm2,rules:e.rules2,"status-icon":"","label-position":"left","label-width":"0px"}},[r("h3",{staticClass:"title",attrs:{align:"center"}},[e._v("系统登录")]),e._v(" "),r("el-form-item",{attrs:{prop:"username"}},[r("el-input",{attrs:{type:"text","auto-complete":"off",placeholder:"用户名"},model:{value:e.ruleForm2.username,callback:function(t){e.$set(e.ruleForm2,"username",t)},expression:"ruleForm2.username"}})],1),e._v(" "),r("el-form-item",{attrs:{prop:"password"}},[r("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"密码"},model:{value:e.ruleForm2.password,callback:function(t){e.$set(e.ruleForm2,"password",t)},expression:"ruleForm2.password"}})],1),e._v(" "),r("el-form-item",{staticStyle:{width:"100%"}},[r("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.logining},on:{click:e.handleSubmit,keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleSubmit(t)}}},[e._v("登录")])],1)],1)],1)},staticRenderFns:[]};var o=r("VU/8")(a,s,!1,function(e){r("Lgzm")},"data-v-7564e1a8",null);t.default=o.exports}});
//# sourceMappingURL=19.492e3884353940300fa9.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/login/index.vue","webpack:///./src/views/login/index.vue?eb3c","webpack:///./src/views/login/index.vue"],"names":["login","data","logining","ruleForm2","username","password","rules2","required","message","trigger","checked","created","lett","this","document","onkeydown","e","window","event","keyCode","handleSubmit","methods","_this","$refs","validate","valid","$http","method","url","then","res","code","sessionStorage","setItem","accessToken","realName","get","$router","push","path","$message","views_login","render","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","model","rules","status-icon","label-position","label-width","align","_v","prop","type","auto-complete","placeholder","value","callback","$$v","$set","expression","staticStyle","width","loading","on","click","keyup","$event","indexOf","_k","key","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"2IAqCAA,GACAC,KADA,WAEA,OACAC,UAAA,EACAC,WACAC,SAAA,GACAC,SAAA,IAEAC,QACAF,WAEAG,UAAA,EACAC,QAAA,SACAC,QAAA,SAGAJ,WAEAE,UAAA,EACAC,QAAA,QACAC,QAAA,UAIAC,SAAA,IAGAC,QA3BA,WA6BA,IAAAC,EAAAC,KACAC,SAAAC,UAAA,SAAAC,GAEA,IADAC,OAAAC,MAAAC,SAEAP,EAAAQ,aAAAJ,KAIAK,SACAD,aADA,WACA,IAAAE,EAAAT,KACAA,KAAAU,MAAApB,UAAAqB,SAAA,SAAAC,GACAA,GACAH,EAAAI,OACAC,OAAA,OACAC,IAAA,cACA3B,MACAG,SAAAkB,EAAAnB,UAAAC,SACAC,SAAAiB,EAAAnB,UAAAE,YAEAwB,KAAA,SAAAC,GACA,IAAAA,EAAA7B,KAAA8B,MACAT,EAAApB,UAAA,EACAe,OAAAe,eAAAC,QAAA,QAAAH,EAAA7B,UAAAiC,aACAjB,OAAAe,eAAAC,QAAA,WAAAX,EAAAnB,UAAAC,UACAa,OAAAe,eAAAC,QAAA,WAAAH,EAAA7B,UAAAkC,UAEAb,EAAAI,MAAAU,IAAA,0CAAAP,KACA,SAAAC,GACA,IAAAA,EAAA7B,KAAA8B,MACAd,OAAAe,eAAAC,QAAA,UAAAH,EAAA7B,aAKAqB,EAAAe,QAAAC,MACAC,KAAA,iBAGAjB,EAAApB,UAAA,EACAoB,EAAAkB,SAAAV,EAAA7B,KAAAO,iBCtGeiC,GADEC,OAFjB,WAA0B,IAAAC,EAAA9B,KAAa+B,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,oBAA8BF,EAAA,WAAgBG,IAAA,YAAAD,YAAA,2BAAAE,OAA8DC,MAAAR,EAAAxC,UAAAiD,MAAAT,EAAArC,OAAA+C,cAAA,GAAAC,iBAAA,OAAAC,cAAA,SAAuGT,EAAA,MAAWE,YAAA,QAAAE,OAA2BM,MAAA,YAAkBb,EAAAc,GAAA,UAAAd,EAAAc,GAAA,KAAAX,EAAA,gBAAkDI,OAAOQ,KAAA,cAAmBZ,EAAA,YAAiBI,OAAOS,KAAA,OAAAC,gBAAA,MAAAC,YAAA,OAAwDV,OAAQW,MAAAnB,EAAAxC,UAAA,SAAA4D,SAAA,SAAAC,GAAwDrB,EAAAsB,KAAAtB,EAAAxC,UAAA,WAAA6D,IAAyCE,WAAA,yBAAkC,GAAAvB,EAAAc,GAAA,KAAAX,EAAA,gBAAqCI,OAAOQ,KAAA,cAAmBZ,EAAA,YAAiBI,OAAOS,KAAA,WAAAC,gBAAA,MAAAC,YAAA,MAA2DV,OAAQW,MAAAnB,EAAAxC,UAAA,SAAA4D,SAAA,SAAAC,GAAwDrB,EAAAsB,KAAAtB,EAAAxC,UAAA,WAAA6D,IAAyCE,WAAA,yBAAkC,GAAAvB,EAAAc,GAAA,KAAAX,EAAA,gBAAqCqB,aAAaC,MAAA,UAAgBtB,EAAA,aAAkBqB,aAAaC,MAAA,QAAelB,OAAQS,KAAA,UAAAU,QAAA1B,EAAAzC,UAAwCoE,IAAKC,MAAA5B,EAAAvB,aAAAoD,MAAA,SAAAC,GAAkD,OAAAA,EAAAd,KAAAe,QAAA,QAAA/B,EAAAgC,GAAAF,EAAAtD,QAAA,WAAAsD,EAAAG,IAAA,SAAsF,KAAejC,EAAAvB,aAAAqD,OAAkC9B,EAAAc,GAAA,qBAEtwCoB,oBCCjB,IAcAC,EAdyBC,EAAQ,OAcjCC,CACEhF,EACAyC,GATF,EAVA,SAAAwC,GACEF,EAAQ,SAaV,kBAEA,MAUeG,EAAA,QAAAJ,EAAiB","file":"static/js/19.492e3884353940300fa9.js","sourcesContent":["<template>\r\n <div class=\"login-container\">\r\n <el-form :model=\"ruleForm2\"\r\n :rules=\"rules2\"\r\n status-icon\r\n ref=\"ruleForm2\"\r\n label-position=\"left\"\r\n label-width=\"0px\"\r\n class=\"demo-ruleForm login-page\">\r\n <h3 class=\"title\"\r\n align=\"center\">系统登录</h3>\r\n <el-form-item prop=\"username\">\r\n <el-input type=\"text\"\r\n v-model=\"ruleForm2.username\"\r\n auto-complete=\"off\"\r\n placeholder=\"用户名\"></el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <el-input type=\"password\"\r\n v-model=\"ruleForm2.password\"\r\n auto-complete=\"off\"\r\n placeholder=\"密码\"></el-input>\r\n </el-form-item>\r\n <el-form-item style=\"width:100%;\">\r\n <el-button type=\"primary\"\r\n style=\"width:100%;\"\r\n @click=\"handleSubmit\"\r\n :loading=\"logining\"\r\n @keyup.enter=\"handleSubmit\">登录</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport qs from \"qs\";\r\n\r\nexport default {\r\n data () {\r\n return {\r\n logining: false,\r\n ruleForm2: {\r\n username: \"\",\r\n password: \"\"\r\n },\r\n rules2: {\r\n username: [\r\n {\r\n required: true,\r\n message: \"请输入用户名\",\r\n trigger: \"blur\"\r\n }\r\n ],\r\n password: [\r\n {\r\n required: true,\r\n message: \"请输入密码\",\r\n trigger: \"blur\"\r\n }\r\n ]\r\n },\r\n checked: false\r\n };\r\n },\r\n created () {\r\n //按enter键提交功能参考:https://www.cnblogs.com/cristina-guan/p/9440035.html\r\n var lett = this;\r\n document.onkeydown = function (e) {\r\n var key = window.event.keyCode;\r\n if (key == 13) {\r\n lett.handleSubmit(e);\r\n }\r\n };\r\n },\r\n methods: {\r\n handleSubmit () {\r\n this.$refs.ruleForm2.validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: 'POST',\r\n url: '/user/login',\r\n data: {\r\n username: this.ruleForm2.username,\r\n password: this.ruleForm2.password\r\n },\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.logining = true;\r\n window.sessionStorage.setItem('token', res.data.data.accessToken);\r\n window.sessionStorage.setItem('username', this.ruleForm2.username);\r\n window.sessionStorage.setItem('realname', res.data.data.realName);\r\n\r\n this.$http.get(\"/sqlrest/manager/api/v1/health/version\").then(\r\n res => {\r\n if (0 === res.data.code) {\r\n window.sessionStorage.setItem('version', res.data.data);\r\n }\r\n }\r\n );\r\n\r\n this.$router.push({\r\n path: '/dashboard'\r\n });\r\n } else {\r\n this.logining = false;\r\n this.$message(res.data.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.login-container {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.login-page {\r\n -webkit-border-radius: 5px;\r\n border-radius: 5px;\r\n margin: 180px auto;\r\n width: 350px;\r\n padding: 35px 35px 15px;\r\n background: #fff;\r\n border: 1px solid #eaeaea;\r\n box-shadow: 0 0 25px #cac6c6;\r\n}\r\n\r\nlabel.el-checkbox.rememberme {\r\n margin: 0px 0px 15px;\r\n text-align: left;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/login/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-container\"},[_c('el-form',{ref:\"ruleForm2\",staticClass:\"demo-ruleForm login-page\",attrs:{\"model\":_vm.ruleForm2,\"rules\":_vm.rules2,\"status-icon\":\"\",\"label-position\":\"left\",\"label-width\":\"0px\"}},[_c('h3',{staticClass:\"title\",attrs:{\"align\":\"center\"}},[_vm._v(\"系统登录\")]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"prop\":\"username\"}},[_c('el-input',{attrs:{\"type\":\"text\",\"auto-complete\":\"off\",\"placeholder\":\"用户名\"},model:{value:(_vm.ruleForm2.username),callback:function ($$v) {_vm.$set(_vm.ruleForm2, \"username\", $$v)},expression:\"ruleForm2.username\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"auto-complete\":\"off\",\"placeholder\":\"密码\"},model:{value:(_vm.ruleForm2.password),callback:function ($$v) {_vm.$set(_vm.ruleForm2, \"password\", $$v)},expression:\"ruleForm2.password\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"100%\"}},[_c('el-button',{staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"primary\",\"loading\":_vm.logining},on:{\"click\":_vm.handleSubmit,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.handleSubmit($event)}}},[_vm._v(\"登录\")])],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7564e1a8\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/login/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7564e1a8\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7564e1a8\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7564e1a8\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/login/index.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/interface/list.vue","webpack:///./src/views/interface/list.vue?3f98","webpack:///./src/views/interface/list.vue"],"names":["list","data","loading","currentPage","pageSize","totalCount","keyword","groupId","moduleId","publish","open","apiDocStatus","groupLists","moduleLists","tableData","methods","loadData","_this","this","$http","method","headers","Content-Type","url","window","JSON","stringify","searchText","page","size","then","res","code","pagination","total","alert","message","loadGroupList","_this2","stringify_default","loadModuleList","_this3","loadApiDocOpenStatus","_this4","get","searchByKeyword","hanldeSwitchApiDoc","_this5","post","boolFormatPublish","row","status","boolFormatOpen","boolFormatAlarm","alarm","hanldeOpenStateChanged","_this6","put","id","hanldeAlarmStateChanged","_this7","handleSearch","handleCreate","$router","push","openSwagger","handleDetail","index","path","query","handleUpdate","handleDelete","_this8","$confirm","confirmButtonText","cancelButtonText","type","delete","handlePublish","_this9","$message","handleRetireTask","_this10","handleSizeChange","handleCurrentChange","created","interface_list","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","clearable","placeholder","model","value","callback","$$v","expression","_l","item","key","label","name","_v","on","change","icon","click","active-color","inactive-color","active-value","inactive-value","active-text","inactive-text","$event","disabled","header-cell-style","background","color","border","prop","min-width","show-overflow-tooltip","scopedSlots","_u","fn","scope","_s","engine","formatter","content","placement","$set","round","$index","_e","align","current-page","page-sizes","page-size","layout","size-change","current-change","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/19.a2c24b3aee6af674aa30.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"assignment-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-select v-model=\"groupId\"\r\n size=\"mini\"\r\n :clearable=\"true\"\r\n style=\"width:15%\"\r\n placeholder=\"选择授权分组\">\r\n <el-option v-for=\"(item,index) in groupLists\"\r\n :key=\"index\"\r\n :label=\"item.name\"\r\n :value=\"item.id\"></el-option>\r\n </el-select>\r\n <el-select v-model=\"moduleId\"\r\n size=\"mini\"\r\n :clearable=\"true\"\r\n style=\"width:15%\"\r\n placeholder=\"请选择模块\">\r\n <el-option v-for=\"(item,index) in moduleLists\"\r\n :key=\"index\"\r\n :label=\"item.name\"\r\n :value=\"item.id\"></el-option>\r\n </el-select>\r\n <el-select v-model=\"publish\"\r\n size=\"mini\"\r\n :clearable=\"true\"\r\n style=\"width:10%\"\r\n placeholder=\"已上线\">\r\n <el-option :key=true\r\n label=\"是\"\r\n :value=true></el-option>\r\n <el-option :key=false\r\n label=\"否\"\r\n :value=false></el-option>\r\n </el-select>\r\n <el-select v-model=\"open\"\r\n size=\"mini\"\r\n :clearable=\"true\"\r\n style=\"width:10%\"\r\n placeholder=\"是否公开\">\r\n <el-option :key=true\r\n label=\"是\"\r\n :value=true></el-option>\r\n <el-option :key=false\r\n label=\"否\"\r\n :value=false></el-option>\r\n </el-select>\r\n <el-input placeholder=\"名称搜索\"\r\n size=\"mini\"\r\n v-model=\"keyword\"\r\n :clearable=true\r\n style=\"width:15%\"\r\n @change=\"searchByKeyword\">\r\n </el-input>\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-search\"\r\n @click=\"handleSearch\">搜索</el-button>\r\n <el-switch v-model=\"apiDocStatus\"\r\n name=\"Swagger文档开关\"\r\n active-color=\"#13ce66\"\r\n inactive-color=\"#ff4949\"\r\n :active-value=true\r\n :inactive-value=false\r\n active-text=\"文档开\"\r\n inactive-text=\"文档关\"\r\n @change=\"hanldeSwitchApiDoc()\">\r\n </el-switch>\r\n </div>\r\n </div>\r\n <el-button type=\"warning\"\r\n size=\"mini\"\r\n :disabled=\"apiDocStatus==false\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"openSwagger\">Swagger文档</el-button>\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"handleCreate\">添加</el-button>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"8%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"名称\"\r\n show-overflow-tooltip\r\n min-width=\"30%\"></el-table-column>\r\n <el-table-column label=\"方法\"\r\n min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-tag size=\"medium\"\r\n class=\"name-wrapper-tag\">{{ scope.row.method }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"path\"\r\n label=\"接口路径\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column label=\"引擎\"\r\n min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-tag size=\"medium\"\r\n class=\"name-wrapper-tag\">{{ scope.row.engine }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"status\"\r\n label=\"已上线\"\r\n :formatter=\"boolFormatPublish\"\r\n show-overflow-tooltip\r\n min-width=\"8%\"></el-table-column>\r\n <el-table-column prop=\"open\"\r\n label=\"公开\"\r\n min-width=\"8%\">\r\n <template slot-scope=\"scope\">\r\n <el-tooltip :content=\"boolFormatOpen(scope.row)\"\r\n placement=\"top\">\r\n <el-switch v-model=\"scope.row.open\"\r\n @change=\"hanldeOpenStateChanged(scope.row)\" />\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"alarm\"\r\n label=\"告警\"\r\n min-width=\"8%\">\r\n <template slot-scope=\"scope\">\r\n <el-tooltip :content=\"boolFormatAlarm(scope.row)\"\r\n placement=\"top\">\r\n <el-switch v-model=\"scope.row.alarm\"\r\n @change=\"hanldeAlarmStateChanged(scope.row)\" />\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"18%\"></el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"30%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"primary\"\r\n icon=\"el-icon-timer\"\r\n v-if=\"scope.row.status===false\"\r\n @click=\"handlePublish(scope.$index, scope.row)\"\r\n round>上线</el-button>\r\n <el-button size=\"small\"\r\n type=\"info\"\r\n icon=\"el-icon-delete-location\"\r\n v-if=\"scope.row.status===true\"\r\n @click=\"handleRetireTask(scope.$index, scope.row)\"\r\n round>下线</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-document\"\r\n v-if=\"scope.row.status===true\"\r\n @click=\"handleDetail(scope.$index, scope.row)\"\r\n round>详情</el-button>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-edit\"\r\n v-if=\"scope.row.status===false\"\r\n @click=\"handleUpdate(scope.$index, scope.row)\"\r\n round>修改</el-button>\r\n <el-button size=\"small\"\r\n type=\"danger\"\r\n icon=\"el-icon-delete\"\r\n v-if=\"scope.row.status===false\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPage\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalCount\"></el-pagination>\r\n </div>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n\r\n data () {\r\n return {\r\n loading: true,\r\n currentPage: 1,\r\n pageSize: 10,\r\n totalCount: 2,\r\n keyword: null,\r\n groupId: null,\r\n moduleId: null,\r\n publish: null,\r\n open: null,\r\n apiDocStatus: true,\r\n groupLists: [],\r\n moduleLists: [],\r\n tableData: [],\r\n };\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/assignment/list\",\r\n data: window.JSON.stringify(\r\n {\r\n groupId: this.groupId,\r\n moduleId: this.moduleId,\r\n publish: this.publish,\r\n open: this.open,\r\n searchText: this.keyword,\r\n page: this.currentPage,\r\n size: this.pageSize\r\n }\r\n )\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.currentPage = res.data.pagination.page;\r\n this.pageSize = res.data.pagination.size;\r\n this.totalCount = res.data.pagination.total;\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载列表失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n loadGroupList () {\r\n this.groupLists = [];\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/listAll\",\r\n data: JSON.stringify({\r\n page: 1,\r\n size: 2147483647,\r\n searchText: null\r\n })\r\n }).then(\r\n res => {\r\n if (0 === res.data.code) {\r\n this.groupLists = res.data.data;\r\n } else {\r\n alert(\"加载失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n loadModuleList () {\r\n this.moduleLists = [];\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/module/listAll\",\r\n data: JSON.stringify({\r\n page: 1,\r\n size: 2147483647,\r\n searchText: null\r\n })\r\n }).then(\r\n res => {\r\n if (0 === res.data.code) {\r\n this.moduleLists = res.data.data;\r\n } else {\r\n alert(\"加载失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n loadApiDocOpenStatus () {\r\n this.$http.get(\r\n \"/sqlrest/manager/api/v1/param/value/query?key=apiDocOpen\"\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.apiDocStatus = res.data.data;\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n hanldeSwitchApiDoc: function () {\r\n this.$http.post(\r\n \"/sqlrest/manager/api/v1/param/value/update?key=apiDocOpen&value=\" + this.apiDocStatus\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadApiDocOpenStatus();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n boolFormatPublish (row) {\r\n if (row.status === true) {\r\n return \"是\";\r\n } else {\r\n return \"否\";\r\n }\r\n },\r\n boolFormatOpen (row) {\r\n if (row.open === true) {\r\n return \"Token认证\";\r\n } else {\r\n return \"无认证\";\r\n }\r\n },\r\n boolFormatAlarm (row) {\r\n if (row.alarm === true) {\r\n return \"告警开启\";\r\n } else {\r\n return \"告警关闭\";\r\n }\r\n },\r\n hanldeOpenStateChanged (row) {\r\n var open = true;\r\n if (true === row.open) {\r\n open = false\r\n }\r\n this.$http.put(\r\n \"/sqlrest/manager/api/v1/assignment/open/\" + row.id + \"?open=\" + !open\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n hanldeAlarmStateChanged (row) {\r\n var open = true;\r\n if (true === row.alarm) {\r\n open = false\r\n }\r\n this.$http.put(\r\n \"/sqlrest/manager/api/v1/assignment/alarm/\" + row.id + \"?open=\" + !open\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n handleSearch: function () {\r\n this.loadData();\r\n },\r\n handleCreate: function () {\r\n this.$router.push('/interface/create')\r\n },\r\n openSwagger: function () {\r\n this.$http({\r\n method: \"GET\",\r\n url: \"/sqlrest/manager/api/v1/node/gateway\"\r\n }).then(\r\n res => {\r\n if (0 === res.data.code) {\r\n if (res.data.data && typeof res.data.data === 'string') {\r\n var url = res.data.data + '/apidoc/index.html';\r\n window.open(url, '_blank');\r\n }\r\n } else {\r\n if (res.data.message) {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n }\r\n }\r\n );\r\n },\r\n handleDetail: function (index, row) {\r\n this.$router.push({ path: '/interface/detail', query: { id: row.id } })\r\n },\r\n handleUpdate: function (index, row) {\r\n this.$router.push({ path: '/interface/update', query: { id: row.id } })\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此接口ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/assignment/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n }\r\n });\r\n });\r\n },\r\n handlePublish: function (index, row) {\r\n this.$http({\r\n method: \"PUT\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/assignment/deploy/\" + row.id,\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.$message(\"发布成功\");\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"发布失败,\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n handleRetireTask: function (index, row) {\r\n this.$http({\r\n method: \"PUT\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/assignment/retire/\" + row.id,\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.$message(\"下线成功\");\r\n this.loadData();\r\n } else {\r\n if (res.data.message) {\r\n alert(\"下线失败,\" + res.data.message);\r\n }\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.loading = true;\r\n this.pageSize = pageSize;\r\n this.loadData();\r\n },\r\n\r\n handleCurrentChange: function (currentPage) {\r\n this.loading = true;\r\n this.currentPage = currentPage;\r\n this.loadData();\r\n }\r\n },\r\n created () {\r\n this.loadGroupList();\r\n this.loadModuleList();\r\n this.loadApiDocOpenStatus();\r\n this.loadData();\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.demo-table-expand {\r\n font-size: 0;\r\n}\r\n\r\n.demo-table-expand label {\r\n width: 90px;\r\n color: #99a9bf;\r\n}\r\n\r\n.demo-table-expand .el-form-item {\r\n margin-right: 0;\r\n margin-bottom: 0;\r\n width: 50%;\r\n}\r\n\r\n.el-input.is-disabled .el-input__inner {\r\n background-color: #f5f7fa;\r\n border-color: #e4e7ed;\r\n color: #c0c4cc;\r\n cursor: pointer;\r\n}\r\n\r\n.assignment-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 5px;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n margin-right: auto;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-left: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/interface/list.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"assignment-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-select',{staticStyle:{\"width\":\"15%\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"选择授权分组\"},model:{value:(_vm.groupId),callback:function ($$v) {_vm.groupId=$$v},expression:\"groupId\"}},_vm._l((_vm.groupLists),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.name,\"value\":item.id}})}),1),_vm._v(\" \"),_c('el-select',{staticStyle:{\"width\":\"15%\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"请选择模块\"},model:{value:(_vm.moduleId),callback:function ($$v) {_vm.moduleId=$$v},expression:\"moduleId\"}},_vm._l((_vm.moduleLists),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.name,\"value\":item.id}})}),1),_vm._v(\" \"),_c('el-select',{staticStyle:{\"width\":\"10%\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"已上线\"},model:{value:(_vm.publish),callback:function ($$v) {_vm.publish=$$v},expression:\"publish\"}},[_c('el-option',{key:true,attrs:{\"label\":\"是\",\"value\":true}}),_vm._v(\" \"),_c('el-option',{key:false,attrs:{\"label\":\"否\",\"value\":false}})],1),_vm._v(\" \"),_c('el-select',{staticStyle:{\"width\":\"10%\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"是否公开\"},model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},[_c('el-option',{key:true,attrs:{\"label\":\"是\",\"value\":true}}),_vm._v(\" \"),_c('el-option',{key:false,attrs:{\"label\":\"否\",\"value\":false}})],1),_vm._v(\" \"),_c('el-input',{staticStyle:{\"width\":\"15%\"},attrs:{\"placeholder\":\"名称搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}}),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-search\"},on:{\"click\":_vm.handleSearch}},[_vm._v(\"搜索\")]),_vm._v(\" \"),_c('el-switch',{attrs:{\"name\":\"Swagger文档开关\",\"active-color\":\"#13ce66\",\"inactive-color\":\"#ff4949\",\"active-value\":true,\"inactive-value\":false,\"active-text\":\"文档开\",\"inactive-text\":\"文档关\"},on:{\"change\":function($event){return _vm.hanldeSwitchApiDoc()}},model:{value:(_vm.apiDocStatus),callback:function ($$v) {_vm.apiDocStatus=$$v},expression:\"apiDocStatus\"}})],1)]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"warning\",\"size\":\"mini\",\"disabled\":_vm.apiDocStatus==false,\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.openSwagger}},[_vm._v(\"Swagger文档\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"添加\")])],1),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"8%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"30%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"方法\",\"min-width\":\"10%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{staticClass:\"name-wrapper-tag\",attrs:{\"size\":\"medium\"}},[_vm._v(_vm._s(scope.row.method))])]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"path\",\"label\":\"接口路径\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"引擎\",\"min-width\":\"10%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{staticClass:\"name-wrapper-tag\",attrs:{\"size\":\"medium\"}},[_vm._v(_vm._s(scope.row.engine))])]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"status\",\"label\":\"已上线\",\"formatter\":_vm.boolFormatPublish,\"show-overflow-tooltip\":\"\",\"min-width\":\"8%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"open\",\"label\":\"公开\",\"min-width\":\"8%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tooltip',{attrs:{\"content\":_vm.boolFormatOpen(scope.row),\"placement\":\"top\"}},[_c('el-switch',{on:{\"change\":function($event){return _vm.hanldeOpenStateChanged(scope.row)}},model:{value:(scope.row.open),callback:function ($$v) {_vm.$set(scope.row, \"open\", $$v)},expression:\"scope.row.open\"}})],1)]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"alarm\",\"label\":\"告警\",\"min-width\":\"8%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tooltip',{attrs:{\"content\":_vm.boolFormatAlarm(scope.row),\"placement\":\"top\"}},[_c('el-switch',{on:{\"change\":function($event){return _vm.hanldeAlarmStateChanged(scope.row)}},model:{value:(scope.row.alarm),callback:function ($$v) {_vm.$set(scope.row, \"alarm\", $$v)},expression:\"scope.row.alarm\"}})],1)]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"18%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"30%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[(scope.row.status===false)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-timer\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handlePublish(scope.$index, scope.row)}}},[_vm._v(\"上线\")]):_vm._e(),_vm._v(\" \"),(scope.row.status===true)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"info\",\"icon\":\"el-icon-delete-location\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleRetireTask(scope.$index, scope.row)}}},[_vm._v(\"下线\")]):_vm._e(),_vm._v(\" \"),(scope.row.status===true)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDetail(scope.$index, scope.row)}}},[_vm._v(\"详情\")]):_vm._e(),_vm._v(\" \"),(scope.row.status===false)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-edit\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleUpdate(scope.$index, scope.row)}}},[_vm._v(\"修改\")]):_vm._e(),_vm._v(\" \"),(scope.row.status===false)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")]):_vm._e()],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.pageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-291ecf29\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/interface/list.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-291ecf29\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./list.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-291ecf29\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-291ecf29\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/interface/list.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([2],{"4er+":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a={name:"asideBarItem",props:{router:{type:Object}},components:{},data:function(){return{}},computed:{},watch:{},methods:{hasChildrenAndShow:function(t){return!t.hidden&&t.hasOwnProperty("children")},saveActivePath:function(t){this.$emit("setActivePath",t)}},created:function(){},mounted:function(){}},r={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"asideBarItem-container"},[t.hasChildrenAndShow(t.router)?n("el-submenu",{attrs:{index:t.router.path}},[n("template",{slot:"title"},[n("i",{class:t.router.icon}),t._v(" "),n("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(t.router.name))])]),t._v(" "),t._l(t.router.children,function(t,e){return n("asideBarItem",{key:t.path,attrs:{router:t}})})],2):n("el-menu-item",{key:t.router.path,attrs:{index:t.router.path},on:{click:function(e){return t.saveActivePath(t.router.path)}}},[n("i",{class:t.router.icon}),t._v(" "),n("span",[t._v(t._s(t.router.name))])])],1)},staticRenderFns:[]};var i={name:"asideBar",components:{asideBarItem:n("VU/8")(a,r,!1,function(t){n("ASLc")},"data-v-645f620a",null).exports},data:function(){return{collapsed:!1,initActivePath:"/dashboard"}},computed:{routers:function(){return this.$router.options.routes[0].children}},watch:{},methods:{showBarItem:function(t){return!t.hidden},handleOpen:function(t,e){},handleClose:function(t,e){},updateCollapse:function(t){this.collapsed=t},setActivePath:function(t){this.initActivePath=t,window.sessionStorage.setItem("activePath",t)},getActivePath:function(){return window.sessionStorage.getItem("activePath")}},created:function(){this.initActivePath=this.getActivePath()},mounted:function(){}},s={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"aside-container"},[n("el-row",{staticClass:"tac"},[n("el-col",{attrs:{span:24}},[n("el-menu",{attrs:{router:!0,"unique-opened":"","background-color":"#001529","text-color":"rgb(191, 203, 217)","active-text-color":"#ffffff",collapse:t.collapsed,"default-active":t.initActivePath},on:{open:t.handleOpen,close:t.handleClose}},t._l(t.routers,function(e){return t.showBarItem(e)?n("asideBarItem",{key:e.path,attrs:{router:e},on:{setActivePath:t.setActivePath}}):t._e()}),1)],1)],1)],1)},staticRenderFns:[]};var o={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{"separator-class":"el-icon-arrow-right"}},[n("transition-group",t._l(t.levelList,function(e,a){return e.name?n("el-breadcrumb-item",{key:e.path},["noredirect"===e.redirect||a==t.levelList.length-1?n("span",{staticClass:"no-redirect"},[t._v(t._s(e.name))]):n("router-link",{attrs:{to:e.redirect||e.path}},[t._v(t._s(e.name))])],1):t._e()}),1)],1)},staticRenderFns:[]};var c={data:function(){return{username:"",nickname:""}},created:function(){this.username=window.sessionStorage.getItem("username"),this.nickname=window.sessionStorage.getItem("realname")},methods:{hadleLogout:function(){window.sessionStorage.clear(),this.$http({method:"GET",url:"/user/logout"}),this.$router.push("/login")}},destroyed:function(){window.sessionStorage.setItem("activePath","/")}},l={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"user-dropdown-wrap"},[a("el-dropdown",[a("div",{staticClass:"user-dropdown-photo"},[a("span",{staticClass:"user-dropdown-text"},[t._v("\n "+t._s(t.nickname)+"("+t._s(t.username)+")\n "),a("i",{staticClass:"el-icon-caret-bottom"})]),t._v(" "),a("img",{attrs:{src:n("BQ5I"),alt:"user"}})]),t._v(" "),a("el-dropdown-menu",{attrs:{solt:"dropdown"}},[a("el-dropdown-item",[a("router-link",{attrs:{to:"/user/self"}},[a("i",{staticClass:"el-icon-s-custom"}),t._v("个人信息\n ")])],1),t._v(" "),a("el-dropdown-item",{attrs:{divided:""}},[a("a",{on:{click:function(e){return t.hadleLogout()}}},[a("i",{staticClass:"el-icon-switch-button"}),t._v("退出登录\n ")])])],1)],1)],1)},staticRenderFns:[]};var u={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"viewer-container"},[e("router-view")],1)},staticRenderFns:[]};var d={name:"home",components:{asideBar:n("VU/8")(i,s,!1,function(t){n("GWYl")},"data-v-1dde93fa",null).exports,breadcrumb:n("VU/8")({name:"breadcrumb",data:function(){return{levelList:[]}},created:function(){this.getBreadcrumb()},watch:{$route:function(){this.getBreadcrumb()}},methods:{getBreadcrumb:function(){var t=this.$route.matched.filter(function(t){return t.name});this.levelList=t}}},o,!1,function(t){n("Yuwj")},"data-v-a2157ea2",null).exports,userDropdown:n("VU/8")(c,l,!1,function(t){n("8vZS")},"data-v-0a6f0f66",null).exports,viewMain:n("VU/8")({name:"viewer",components:{},data:function(){return{}},computed:{},watch:{},methods:{},created:function(){},mounted:function(){}},u,!1,function(t){n("mWqL")},"data-v-7b74460c",null).exports},data:function(){return{title:"SQLREST",isCollapse:null}},computed:{},watch:{},methods:{handleToggleCollapse:function(){var t=!this.isCollapse;this.isCollapse=t,this.$refs.asideBar.updateCollapse(t)}},created:function(){},mounted:function(){}},A={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("el-container",{staticClass:"index-container"},[a("el-aside",{attrs:{width:t.isCollapse?"64px":"250px"}},[a("div",{staticClass:"title"},[a("img",{attrs:{src:n("7Otq")}}),t._v(" "),t.isCollapse?t._e():a("span",{staticClass:"title-text"},[t._v(t._s(t.title))])]),t._v(" "),a("asideBar",{ref:"asideBar"})],1),t._v(" "),a("el-main",[a("el-header",[a("div",{staticClass:"collapse",on:{click:t.handleToggleCollapse}},[t.isCollapse?a("i",{staticClass:"el-icon-s-unfold"}):a("i",{staticClass:"el-icon-s-fold"})]),t._v(" "),a("breadcrumb"),t._v(" "),a("userDropdown")],1),t._v(" "),a("viewMain")],1)],1)},staticRenderFns:[]};var h=n("VU/8")(d,A,!1,function(t){n("z9t0")},"data-v-4972070e",null);e.default=h.exports},"7Otq":function(t,e,n){t.exports=n.p+"static/img/logo.a674d30.png"},"8vZS":function(t,e){},ASLc:function(t,e){},BQ5I:function(t,e){t.exports="data:image/jpeg;base64,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"},GWYl:function(t,e){},Yuwj:function(t,e){},mWqL:function(t,e){},z9t0:function(t,e){}});
//# sourceMappingURL=2.140338f6a5528feea1a3.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/components/asideBar/asideBarItem.vue","webpack:///./src/components/asideBar/asideBarItem.vue?5e90","webpack:///./src/components/asideBar/asideBarItem.vue","webpack:///src/components/asideBar/asideBar.vue","webpack:///./src/components/asideBar/asideBar.vue?3399","webpack:///./src/components/asideBar/asideBar.vue","webpack:///./src/components/breadcrumb/index.vue?cf18","webpack:///./src/components/breadcrumb/index.vue","webpack:///src/components/userDropdown/index.vue","webpack:///./src/components/userDropdown/index.vue?1aef","webpack:///./src/components/userDropdown/index.vue","webpack:///./src/views/viewer.vue?508d","webpack:///./src/views/viewer.vue","webpack:///src/views/layout.vue","webpack:///src/components/breadcrumb/index.vue","webpack:///src/views/viewer.vue","webpack:///./src/views/layout.vue?0d9b","webpack:///./src/views/layout.vue","webpack:///./src/assets/logo.png","webpack:///./src/assets/user.jpg"],"names":["asideBarItem","name","props","router","type","Object","components","data","computed","watch","methods","hasChildrenAndShow","hidden","hasOwnProperty","saveActivePath","path","this","$emit","created","mounted","asideBar_asideBarItem","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","index","slot","class","icon","_v","_s","_l","child","childKey","key","on","click","$event","staticRenderFns","asideBar","__webpack_require__","normalizeComponent","ssrContext","collapsed","initActivePath","routers","$router","options","routes","children","showBarItem","handleOpen","keyPath","handleClose","updateCollapse","collapse","setActivePath","window","sessionStorage","setItem","getActivePath","getItem","asideBar_asideBar","span","unique-opened","background-color","text-color","active-text-color","default-active","open","close","_e","components_breadcrumb","separator-class","item","redirect","levelList","length","to","userDropdown","username","nickname","hadleLogout","clear","$http","method","url","push","destroyed","components_userDropdown","src","alt","solt","divided","views_viewer","layout","asideBar_normalizeComponent","breadcrumb","breadcrumb_normalizeComponent","getBreadcrumb","$route","matched","filter","userDropdown_normalizeComponent","viewMain","viewer_normalizeComponent","title","isCollapse","handleToggleCollapse","status","$refs","views_layout","width","ref","layout_Component","layout_normalizeComponent","__webpack_exports__","module","exports","p"],"mappings":"uGAqBA,IAAAA,GACAC,KAAA,eACAC,OACAC,QACAC,KAAAC,SAGAC,cACAC,KARA,WASA,UAGAC,YAKAC,SACAC,SACAC,mBADA,SACAR,GACA,OAAAA,EAAAS,QAIAT,EAAAU,eAAA,aAEAC,eARA,SAQAC,GAEAC,KAAAC,MAAA,gBAAAF,KAGAG,QA/BA,aAiCAC,QAjCA,cClBeC,GADEC,OAFjB,WAA0B,IAAAC,EAAAN,KAAaO,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,2BAAqCL,EAAAX,mBAAAW,EAAAnB,QAAAsB,EAAA,cAAwDG,OAAOC,MAAAP,EAAAnB,OAAAY,QAAyBU,EAAA,YAAiBK,KAAA,UAAaL,EAAA,KAAUM,MAAAT,EAAAnB,OAAA6B,OAAsBV,EAAAW,GAAA,KAAAR,EAAA,QAAyBG,OAAOE,KAAA,SAAeA,KAAA,UAAcR,EAAAW,GAAAX,EAAAY,GAAAZ,EAAAnB,OAAAF,WAAAqB,EAAAW,GAAA,KAAAX,EAAAa,GAAAb,EAAAnB,OAAA,kBAAAiC,EAAAC,GAAwG,OAAAZ,EAAA,gBAA0Ba,IAAAF,EAAArB,KAAAa,OAAsBzB,OAAAiC,QAAkB,GAAAX,EAAA,gBAAyBa,IAAAhB,EAAAnB,OAAAY,KAAAa,OAA2BC,MAAAP,EAAAnB,OAAAY,MAAwBwB,IAAKC,MAAA,SAAAC,GAAyB,OAAAnB,EAAAR,eAAAQ,EAAAnB,OAAAY,UAA6CU,EAAA,KAAUM,MAAAT,EAAAnB,OAAA6B,OAAsBV,EAAAW,GAAA,KAAAR,EAAA,QAAAH,EAAAW,GAAAX,EAAAY,GAAAZ,EAAAnB,OAAAF,YAAA,IAElrByC,oBCCjB,ICuBAC,GACA1C,KAAA,WACAK,YACAN,aD1ByB4C,EAAQ,OAcjCC,CACE7C,EACAoB,GATF,EAVA,SAAA0B,GACEF,EAAQ,SAaV,kBAEA,MAUgC,SCKhCrC,KALA,WAMA,OACAwC,WAAA,EACAC,eAAA,eAGAxC,UACAyC,QADA,WAIA,OAAAjC,KAAAkC,QAAAC,QAAAC,OAAA,GAAAC,WAGA5C,SACAC,SACA4C,YADA,SACAnD,GACA,OAAAA,EAAAS,QAMA2C,WARA,SAQAjB,EAAAkB,KAIAC,YAZA,SAYAnB,EAAAkB,KAGAE,eAfA,SAeAC,GACA3C,KAAA+B,UAAAY,GAGAC,cAnBA,SAmBA7C,GACAC,KAAAgC,eAAAjC,EACA8C,OAAAC,eAAAC,QAAA,aAAAhD,IAGAiD,cAxBA,WAyBA,OAAAH,OAAAC,eAAAG,QAAA,gBAGA/C,QA/CA,WAgDAF,KAAAgC,eAAAhC,KAAAgD,iBAGA7C,QAnDA,cCvBe+C,GADE7C,OAFP,WAAgB,IAAAC,EAAAN,KAAaO,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,oBAA8BF,EAAA,UAAeE,YAAA,QAAkBF,EAAA,UAAeG,OAAOuC,KAAA,MAAW1C,EAAA,WAAgBG,OAAOzB,QAAA,EAAAiE,gBAAA,GAAAC,mBAAA,UAAAC,aAAA,qBAAAC,oBAAA,UAAAZ,SAAArC,EAAAyB,UAAAyB,iBAAAlD,EAAA0B,gBAA2LT,IAAKkC,KAAAnD,EAAAiC,WAAAmB,MAAApD,EAAAmC,cAA+CnC,EAAAa,GAAAb,EAAA,iBAAAnB,GAAuC,OAAAmB,EAAAgC,YAAAnD,GAAAsB,EAAA,gBAAoDa,IAAAnC,EAAAY,KAAAa,OAAuBzB,UAAgBoC,IAAKqB,cAAAtC,EAAAsC,iBAAmCtC,EAAAqD,OAAW,gBAErmBjC,oBCChC,ICAekC,GADEvD,OAFP,WAAgB,IAAAC,EAAAN,KAAaO,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,iBAA2BE,YAAA,iBAAAC,OAAoCiD,kBAAA,yBAAyCpD,EAAA,mBAAAH,EAAAa,GAAAb,EAAA,mBAAAwD,EAAAjD,GAAoE,OAAAiD,EAAA,KAAArD,EAAA,sBAA4Ca,IAAAwC,EAAA/D,OAAc,eAAA+D,EAAAC,UAAAlD,GAAAP,EAAA0D,UAAAC,OAAA,EAAAxD,EAAA,QAA2EE,YAAA,gBAA0BL,EAAAW,GAAAX,EAAAY,GAAA4C,EAAA7E,SAAAwB,EAAA,eAAgDG,OAAOsD,GAAAJ,EAAAC,UAAAD,EAAA/D,QAA+BO,EAAAW,GAAAX,EAAAY,GAAA4C,EAAA7E,UAAA,GAAAqB,EAAAqD,OAA2C,QAErgBjC,oBCChC,ICyBAyC,GACA5E,KADA,WAEA,OACA6E,SAAA,GACAC,SAAA,KAGAnE,QAPA,WAQAF,KAAAoE,SAAAvB,OAAAC,eAAAG,QAAA,YACAjD,KAAAqE,SAAAxB,OAAAC,eAAAG,QAAA,aAEAvD,SACA4E,YADA,WAEAzB,OAAAC,eAAAyB,QACAvE,KAAAwE,OACAC,OAAA,MACAC,IAAA,iBAEA1E,KAAAkC,QAAAyC,KAAA,YAGAC,UArBA,WAsBA/B,OAAAC,eAAAC,QAAA,oBC/Ce8B,GADExE,OAFP,WAAgB,IAAAC,EAAAN,KAAaO,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,uBAAiCF,EAAA,eAAAA,EAAA,OAA8BE,YAAA,wBAAkCF,EAAA,QAAaE,YAAA,uBAAiCL,EAAAW,GAAA,aAAAX,EAAAY,GAAAZ,EAAA+D,UAAA,IAAA/D,EAAAY,GAAAZ,EAAA8D,UAAA,eAAA3D,EAAA,KAA2FE,YAAA,2BAAmCL,EAAAW,GAAA,KAAAR,EAAA,OAA0BG,OAAOkE,IAAMlD,EAAQ,QAAuBmD,IAAA,YAAgBzE,EAAAW,GAAA,KAAAR,EAAA,oBAAuCG,OAAOoE,KAAA,cAAmBvE,EAAA,oBAAAA,EAAA,eAA2CG,OAAOsD,GAAA,gBAAmBzD,EAAA,KAAUE,YAAA,qBAA+BL,EAAAW,GAAA,wBAAAX,EAAAW,GAAA,KAAAR,EAAA,oBAAoEG,OAAOqE,QAAA,MAAcxE,EAAA,KAAUc,IAAIC,MAAA,SAAAC,GAAyB,OAAAnB,EAAAgE,kBAA2B7D,EAAA,KAAUE,YAAA,0BAAoCL,EAAAW,GAAA,mCAEryBS,oBCChC,ICAewD,GADE7E,OAFP,WAAgB,IAAaE,EAAbP,KAAaQ,eAA0BC,EAAvCT,KAAuCU,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,qBAA+BF,EAAA,oBAEzGiB,oBCChC,ICqCAyD,GACAlG,KAAA,OACAK,YACAqC,SRxCyBC,EAAQ,OAcjBwD,CACdzD,EACAuB,GAT6B,EAV/B,SAAoBpB,GAClBF,EAAQ,SAaS,kBAEU,MAUG,QQkBhCyD,WNzCyBzD,EAAQ,OAcjB0D,EOHhBrG,KAAA,aACAM,KAFA,WAGA,OACAyE,eAGA9D,QAPA,WAQAF,KAAAuF,iBAEA9F,OACA+F,OADA,WAEAxF,KAAAuF,kBAGA7F,SACA6F,cADA,WAEA,IAAAE,EAAAzF,KAAAwF,OAAAC,QAAAC,OAAA,SAAA5B,GAAA,OAAAA,EAAA7E,OACAe,KAAAgE,UAAAyB,KPZE7B,GAT6B,EAV/B,SAAoB9B,GAClBF,EAAQ,SAaS,kBAEU,MAUG,QMmBhCuC,aH1CyBvC,EAAQ,OAcjB+D,CACdxB,EACAU,GAT6B,EAV/B,SAAoB/C,GAClBF,EAAQ,SAaS,kBAEU,MAUG,QGoBhCgE,SD3CyBhE,EAAQ,OAcjBiE,EGThB5G,KAAA,SACAK,cACAC,KAHA,WAIA,UAEAC,YACAC,SACAC,WACAQ,QATA,aAUAC,QAVA,cHYE+E,GAT6B,EAV/B,SAAoBpD,GAClBF,EAAQ,SAaS,kBAEU,MAUG,SCsBhCrC,KARA,WASA,OACAuG,MAAA,UACAC,WAAA,OAGAvG,YACAC,SACAC,SACAsG,qBADA,WAEA,IAAAC,GAAAjG,KAAA+F,WACA/F,KAAA+F,WAAAE,EACAjG,KAAAkG,MAAAvE,SAAAe,eAAAuD,KAGA/F,QAvBA,aAyBAC,QAzBA,cGrCegG,GADE9F,OAFP,WAAgB,IAAAC,EAAAN,KAAaO,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,gBAA0BE,YAAA,oBAA8BF,EAAA,YAAiBG,OAAOwF,MAAA9F,EAAAyF,WAAA,kBAAuCtF,EAAA,OAAYE,YAAA,UAAoBF,EAAA,OAAYG,OAAOkE,IAAMlD,EAAQ,WAAuBtB,EAAAW,GAAA,KAAAX,EAAAyF,WAAoEzF,EAAAqD,KAApElD,EAAA,QAA2CE,YAAA,eAAyBL,EAAAW,GAAAX,EAAAY,GAAAZ,EAAAwF,YAAAxF,EAAAW,GAAA,KAAAR,EAAA,YAAoE4F,IAAA,cAAe,GAAA/F,EAAAW,GAAA,KAAAR,EAAA,WAAAA,EAAA,aAAAA,EAAA,OAA0DE,YAAA,WAAAY,IAA2BC,MAAAlB,EAAA0F,wBAAkC1F,EAAA,WAAAG,EAAA,KAA2BE,YAAA,qBAA+BF,EAAA,KAAUE,YAAA,qBAA6BL,EAAAW,GAAA,KAAAR,EAAA,cAAAH,EAAAW,GAAA,KAAAR,EAAA,oBAAAH,EAAAW,GAAA,KAAAR,EAAA,qBAEvnBiB,oBCChC,IAcI4E,EAdqB1E,EAAQ,OAcjB2E,CACdpB,EACAgB,GAT6B,EAV/B,SAAoBrE,GAClBF,EAAQ,SAaS,kBAEU,MAUd4E,EAAA,QAAAF,EAAiB,gCC1BhCG,EAAAC,QAAiB9E,EAAA+E,EAAuB,8FCAxCF,EAAAC,QAAA","file":"static/js/2.140338f6a5528feea1a3.js","sourcesContent":["<template>\r\n <div class=\"asideBarItem-container\">\r\n <!-- 如果hasOwnProperty监测有children 就循环递归展示-->\r\n <el-submenu :index=\"router.path\" v-if=\"hasChildrenAndShow(router)\">\r\n <template slot=\"title\">\r\n <i :class=\"router.icon\"></i>\r\n <span slot=\"title\">{{router.name}}</span>\r\n </template>\r\n <!--递归子孙导航-->\r\n <asideBarItem v-for=\"(child, childKey) in router.children\" :key=\"child.path\" :router=\"child\"></asideBarItem>\r\n </el-submenu>\r\n <!-- 如果没有 就展示一级导航 -->\r\n <el-menu-item v-else :key=\"router.path\" :index=\"router.path\" @click=\"saveActivePath(router.path)\">\r\n <i :class=\"router.icon\"></i>\r\n <span>{{router.name}}</span>\r\n </el-menu-item>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n//hasOwnProperty可以用来检测一个对象是否含有特定的自身属性\r\nexport default {\r\n name: \"asideBarItem\",\r\n props: {\r\n router: {\r\n type: Object\r\n },\r\n },\r\n components: {},\r\n data() {\r\n return {\r\n };\r\n },\r\n computed: {\r\n // router () {\r\n // return this.$router.options.routes\r\n // }\r\n },\r\n watch: {},\r\n methods: {\r\n hasChildrenAndShow(router){\r\n if(router.hidden){\r\n return false\r\n }\r\n\r\n return router.hasOwnProperty('children');\r\n },\r\n saveActivePath(path) {\r\n //alert(path);\r\n this.$emit('setActivePath',path);\r\n },\r\n },\r\n created() {\r\n },\r\n mounted() {}\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-menu-item.is-active {\r\n background-color: #1890ff !important;\r\n}\r\n\r\n/*隐藏文字*/\r\n.el-menu--collapse .asideBarItem-container span{\r\n display: none;\r\n}\r\n/*隐藏 > */\r\n.el-menu--collapse .asideBarItem-container .el-submenu__title .el-submenu__icon-arrow{\r\n display: none;\r\n}\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/asideBar/asideBarItem.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"asideBarItem-container\"},[(_vm.hasChildrenAndShow(_vm.router))?_c('el-submenu',{attrs:{\"index\":_vm.router.path}},[_c('template',{slot:\"title\"},[_c('i',{class:_vm.router.icon}),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.router.name))])]),_vm._v(\" \"),_vm._l((_vm.router.children),function(child,childKey){return _c('asideBarItem',{key:child.path,attrs:{\"router\":child}})})],2):_c('el-menu-item',{key:_vm.router.path,attrs:{\"index\":_vm.router.path},on:{\"click\":function($event){return _vm.saveActivePath(_vm.router.path)}}},[_c('i',{class:_vm.router.icon}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.router.name))])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-645f620a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/asideBar/asideBarItem.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-645f620a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./asideBarItem.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBarItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBarItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-645f620a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./asideBarItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-645f620a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/asideBar/asideBarItem.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"aside-container\">\r\n <el-row class=\"tac\">\r\n <el-col :span=\"24\">\r\n <!-- 整体左侧导航 -->\r\n <el-menu\r\n :router=\"true\"\r\n unique-opened\r\n @open=\"handleOpen\"\r\n @close=\"handleClose\"\r\n background-color=\"#001529\"\r\n text-color=\"rgb(191, 203, 217)\"\r\n active-text-color=\"#ffffff\"\r\n :collapse=\"collapsed\"\r\n :default-active=\"initActivePath\"\r\n >\r\n <!-- 左侧导航栏抽取循环部分 将路由列表传给子组件-->\r\n <asideBarItem v-for=\"router in routers\" :router=\"router\" v-if=\"showBarItem(router)\" @setActivePath='setActivePath' :key=\"router.path\"></asideBarItem>\r\n </el-menu>\r\n </el-col>\r\n </el-row>\r\n </div>\r\n</template>\r\n \r\n<script>\r\nimport asideBarItem from \"@/components/asideBar/asideBarItem\";\r\nexport default {\r\n name: \"asideBar\",\r\n components: {\r\n asideBarItem\r\n },\r\n data() {\r\n return {\r\n collapsed:false,\r\n initActivePath:'/dashboard'\r\n };\r\n },\r\n computed: {\r\n routers() {\r\n //console.log(this.$router.options);\r\n //this.$router.options获取路由列表\r\n return this.$router.options.routes[0].children;\r\n },\r\n },\r\n watch: {},\r\n methods: {\r\n showBarItem(router){\r\n if(router.hidden){\r\n return false\r\n }\r\n\r\n return true;\r\n },\r\n handleOpen(key, keyPath) {\r\n //点击打开时当前的路径\r\n //console.log(key, keyPath, 'handleOpen');\r\n },\r\n handleClose(key, keyPath) {\r\n //console.log(key, keyPath, 'handleClose');\r\n },\r\n updateCollapse(collapse){\r\n this.collapsed=collapse;\r\n //console.log(\"==========\"+this.isCollapse);\r\n },\r\n setActivePath(path){\r\n this.initActivePath=path;\r\n window.sessionStorage.setItem(\"activePath\", path);\r\n //console.log(\"update active path \"+this.initActivePath);\r\n },\r\n getActivePath(){\r\n return window.sessionStorage.getItem(\"activePath\");\r\n }\r\n },\r\n created() {\r\n this.initActivePath = this.getActivePath();\r\n //console.log(\"init active path \"+this.initActivePath);\r\n },\r\n mounted() {\r\n // console.log(this.$router.options.routes[1])\r\n }\r\n};\r\n</script>\r\n \r\n <style scoped>\r\n.aside-container {\r\n padding-top: 2px;\r\n}\r\n\r\n.el-menu {\r\n padding: 0;\r\n border-right: none;\r\n}\r\n\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/asideBar/asideBar.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-container\"},[_c('el-row',{staticClass:\"tac\"},[_c('el-col',{attrs:{\"span\":24}},[_c('el-menu',{attrs:{\"router\":true,\"unique-opened\":\"\",\"background-color\":\"#001529\",\"text-color\":\"rgb(191, 203, 217)\",\"active-text-color\":\"#ffffff\",\"collapse\":_vm.collapsed,\"default-active\":_vm.initActivePath},on:{\"open\":_vm.handleOpen,\"close\":_vm.handleClose}},_vm._l((_vm.routers),function(router){return (_vm.showBarItem(router))?_c('asideBarItem',{key:router.path,attrs:{\"router\":router},on:{\"setActivePath\":_vm.setActivePath}}):_vm._e()}),1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1dde93fa\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/asideBar/asideBar.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1dde93fa\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./asideBar.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBar.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBar.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1dde93fa\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./asideBar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1dde93fa\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/asideBar/asideBar.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-breadcrumb',{staticClass:\"app-breadcrumb\",attrs:{\"separator-class\":\"el-icon-arrow-right\"}},[_c('transition-group',_vm._l((_vm.levelList),function(item,index){return (item.name)?_c('el-breadcrumb-item',{key:item.path},[(item.redirect===\"noredirect\"||index==_vm.levelList.length-1)?_c('span',{staticClass:\"no-redirect\"},[_vm._v(_vm._s(item.name))]):_c('router-link',{attrs:{\"to\":item.redirect||item.path}},[_vm._v(_vm._s(item.name))])],1):_vm._e()}),1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a2157ea2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a2157ea2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a2157ea2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a2157ea2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"user-dropdown-wrap\">\r\n <el-dropdown>\r\n <div class=\"user-dropdown-photo\">\r\n <span class=\"user-dropdown-text\">\r\n {{ nickname }}({{username}})\r\n <i class=\"el-icon-caret-bottom\"></i>\r\n </span>\r\n <img src=\"../../assets/user.jpg\"\r\n alt=\"user\" />\r\n </div>\r\n <el-dropdown-menu solt=\"dropdown\">\r\n <el-dropdown-item>\r\n <router-link to=\"/user/self\">\r\n <i class=\"el-icon-s-custom\"></i>个人信息\r\n </router-link>\r\n </el-dropdown-item>\r\n <el-dropdown-item divided>\r\n <a @click=\"hadleLogout()\">\r\n <i class=\"el-icon-switch-button\"></i>退出登录\r\n </a>\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data () {\r\n return {\r\n username: \"\",\r\n nickname: \"\"\r\n };\r\n },\r\n created () {\r\n this.username = window.sessionStorage.getItem(\"username\");\r\n this.nickname = window.sessionStorage.getItem(\"realname\");\r\n },\r\n methods: {\r\n hadleLogout () {\r\n window.sessionStorage.clear();\r\n this.$http({\r\n method: 'GET',\r\n url: '/user/logout'\r\n }),\r\n this.$router.push(\"/login\");\r\n }\r\n },\r\n destroyed () {\r\n window.sessionStorage.setItem(\"activePath\", \"/\");\r\n }\r\n};\r\n</script>\r\n<style scoped>\r\n.user-dropdown-wrap {\r\n height: 60px;\r\n padding: 10px 0;\r\n float: right;\r\n}\r\n\r\n.user-dropdown-wrap .user-dropdown-photo img {\r\n width: 30px;\r\n height: 30px;\r\n vertical-align: middle;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/userDropdown/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-dropdown-wrap\"},[_c('el-dropdown',[_c('div',{staticClass:\"user-dropdown-photo\"},[_c('span',{staticClass:\"user-dropdown-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.nickname)+\"(\"+_vm._s(_vm.username)+\")\\n \"),_c('i',{staticClass:\"el-icon-caret-bottom\"})]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"../../assets/user.jpg\"),\"alt\":\"user\"}})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"solt\":\"dropdown\"}},[_c('el-dropdown-item',[_c('router-link',{attrs:{\"to\":\"/user/self\"}},[_c('i',{staticClass:\"el-icon-s-custom\"}),_vm._v(\"个人信息\\n \")])],1),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"}},[_c('a',{on:{\"click\":function($event){return _vm.hadleLogout()}}},[_c('i',{staticClass:\"el-icon-switch-button\"}),_vm._v(\"退出登录\\n \")])])],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0a6f0f66\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userDropdown/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0a6f0f66\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0a6f0f66\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0a6f0f66\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userDropdown/index.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"viewer-container\"},[_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7b74460c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/viewer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7b74460c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./viewer.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./viewer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./viewer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7b74460c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./viewer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7b74460c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/viewer.vue\n// module id = null\n// module chunks = ","<template>\r\n <el-container class=\"index-container\">\r\n <el-aside :width=\"isCollapse?'64px':'250px'\">\r\n <!-- 左侧LOGO -->\r\n <div class=\"title\">\r\n <img src=\"../assets/logo.png\" />\r\n <span class=\"title-text\"\r\n v-if=\"!isCollapse\">{{title}}</span>\r\n </div>\r\n <!-- 左侧导航菜单 -->\r\n <asideBar ref=\"asideBar\"></asideBar>\r\n </el-aside>\r\n <el-main>\r\n <el-header>\r\n <!-- 折叠图标 -->\r\n <div @click=\"handleToggleCollapse\"\r\n class=\"collapse\">\r\n <i class=\"el-icon-s-unfold\"\r\n v-if=\"isCollapse\"></i>\r\n <i class=\"el-icon-s-fold\"\r\n v-else></i>\r\n </div>\r\n\r\n <!-- 面包屑导航 -->\r\n <breadcrumb></breadcrumb>\r\n <userDropdown></userDropdown>\r\n </el-header>\r\n\r\n <!-- 右侧显示区域 -->\r\n <viewMain></viewMain>\r\n </el-main>\r\n </el-container>\r\n</template>\r\n\r\n<script>\r\nimport asideBar from \"@/components/asideBar/asideBar\";\r\nimport breadcrumb from \"@/components/breadcrumb/index\";\r\nimport userDropdown from \"@/components/userDropdown/index\"\r\nimport viewMain from \"@/views/viewer\";\r\n\r\nexport default {\r\n name: \"home\",\r\n components: {\r\n asideBar,\r\n breadcrumb,\r\n userDropdown,\r\n viewMain\r\n },\r\n data () {\r\n return {\r\n title: \"SQLREST\",\r\n isCollapse: null\r\n };\r\n },\r\n computed: {},\r\n watch: {},\r\n methods: {\r\n handleToggleCollapse () {\r\n let status = !this.isCollapse;\r\n this.isCollapse = status;\r\n this.$refs.asideBar.updateCollapse(status);\r\n }\r\n },\r\n created () {\r\n },\r\n mounted () { }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.index-container {\r\n height: 100%;\r\n}\r\n\r\n.el-aside {\r\n float: left;\r\n background: #002140;\r\n color: #333;\r\n text-align: left;\r\n}\r\n\r\n.el-aside .title {\r\n height: 60px;\r\n background: #001529;\r\n line-height: 64px;\r\n background: #002140;\r\n text-align: center;\r\n}\r\n\r\n.el-aside .title img {\r\n width: 50px;\r\n height: 50px;\r\n vertical-align: middle;\r\n}\r\n\r\n.el-aside .title .title-text {\r\n color: #fff;\r\n font-weight: 600;\r\n font-size: 20px;\r\n vertical-align: middle;\r\n}\r\n\r\n.el-header {\r\n padding: 0px;\r\n color: #ffffff;\r\n width: 100%;\r\n background: #fff;\r\n}\r\n\r\n.el-header .collapse {\r\n float: left;\r\n padding-left: 2px;\r\n font-size: 22px;\r\n color: #838383;\r\n margin-top: 10px;\r\n margin-right: 20px;\r\n cursor: pointer;\r\n}\r\n\r\n.el-main {\r\n padding: 0px;\r\n float: left;\r\n background-color: #eaedf1;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/layout.vue","<template>\r\n <el-breadcrumb class=\"app-breadcrumb\" separator-class=\"el-icon-arrow-right\">\r\n <transition-group>\r\n <el-breadcrumb-item v-for=\"(item,index) in levelList\" :key=\"item.path\" v-if=\"item.name\">\r\n <span v-if='item.redirect===\"noredirect\"||index==levelList.length-1' class=\"no-redirect\">{{item.name}}</span>\r\n <router-link v-else :to=\"item.redirect||item.path\">{{item.name}}</router-link>\r\n </el-breadcrumb-item>\r\n </transition-group>\r\n </el-breadcrumb>\r\n</template>\r\n\r\n<!-- 参考教程:https://www.cnblogs.com/yangguoe/p/9406032.html -->\r\n<script>\r\nexport default {\r\n name: \"breadcrumb\",\r\n data() {\r\n return {\r\n levelList: []\r\n };\r\n },\r\n created() {\r\n this.getBreadcrumb();\r\n },\r\n watch: {\r\n $route() {\r\n this.getBreadcrumb();\r\n }\r\n },\r\n methods: {\r\n getBreadcrumb() {\r\n let matched = this.$route.matched.filter(item => item.name); //$route.matched 将会是一个包含从上到下的所有对象 (副本)。\r\n this.levelList = matched;\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-header .el-breadcrumb {\r\n float: left;\r\n margin: 18px 0 0 20px;\r\n}\r\n\r\n.app-breadcrumb .el-breadcrumb .no-redirect {\r\n color: #97a8be;\r\n cursor: text;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/breadcrumb/index.vue","<template>\r\n <div class=\"viewer-container\">\r\n <router-view></router-view>\r\n </div>\r\n</template>\r\n \r\n<script>\r\nexport default {\r\n name: \"viewer\",\r\n components: {},\r\n data () {\r\n return {};\r\n },\r\n computed: {},\r\n watch: {},\r\n methods: {},\r\n created () { },\r\n mounted () { }\r\n};\r\n</script>\r\n \r\n<style scoped>\r\n.viewer-container {\r\n padding-top: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/viewer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"index-container\"},[_c('el-aside',{attrs:{\"width\":_vm.isCollapse?'64px':'250px'}},[_c('div',{staticClass:\"title\"},[_c('img',{attrs:{\"src\":require(\"../assets/logo.png\")}}),_vm._v(\" \"),(!_vm.isCollapse)?_c('span',{staticClass:\"title-text\"},[_vm._v(_vm._s(_vm.title))]):_vm._e()]),_vm._v(\" \"),_c('asideBar',{ref:\"asideBar\"})],1),_vm._v(\" \"),_c('el-main',[_c('el-header',[_c('div',{staticClass:\"collapse\",on:{\"click\":_vm.handleToggleCollapse}},[(_vm.isCollapse)?_c('i',{staticClass:\"el-icon-s-unfold\"}):_c('i',{staticClass:\"el-icon-s-fold\"})]),_vm._v(\" \"),_c('breadcrumb'),_vm._v(\" \"),_c('userDropdown')],1),_vm._v(\" \"),_c('viewMain')],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4972070e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/layout.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4972070e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./layout.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./layout.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./layout.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4972070e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./layout.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4972070e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/layout.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/logo.a674d30.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/logo.png\n// module id = 7Otq\n// module chunks = 1 2","module.exports = \"data:image/jpeg;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/user.jpg\n// module id = BQ5I\n// module chunks = 1 2"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([2],{"4er+":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a={name:"asideBarItem",props:{router:{type:Object}},components:{},data:function(){return{}},computed:{},watch:{},methods:{hasChildrenAndShow:function(t){return!t.hidden&&t.hasOwnProperty("children")},saveActivePath:function(t){this.$emit("setActivePath",t)}},created:function(){},mounted:function(){}},r={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"asideBarItem-container"},[t.hasChildrenAndShow(t.router)?n("el-submenu",{attrs:{index:t.router.path}},[n("template",{slot:"title"},[n("i",{class:t.router.icon}),t._v(" "),n("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(t.router.name))])]),t._v(" "),t._l(t.router.children,function(t,e){return n("asideBarItem",{key:t.path,attrs:{router:t}})})],2):n("el-menu-item",{key:t.router.path,attrs:{index:t.router.path},on:{click:function(e){return t.saveActivePath(t.router.path)}}},[n("i",{class:t.router.icon}),t._v(" "),n("span",[t._v(t._s(t.router.name))])])],1)},staticRenderFns:[]};var i={name:"asideBar",components:{asideBarItem:n("VU/8")(a,r,!1,function(t){n("ASLc")},"data-v-645f620a",null).exports},data:function(){return{collapsed:!1,initActivePath:"/dashboard"}},computed:{routers:function(){return this.$router.options.routes[0].children}},watch:{},methods:{showBarItem:function(t){return!t.hidden},handleOpen:function(t,e){},handleClose:function(t,e){},updateCollapse:function(t){this.collapsed=t},setActivePath:function(t){this.initActivePath=t,window.sessionStorage.setItem("activePath",t)},getActivePath:function(){return window.sessionStorage.getItem("activePath")}},created:function(){this.initActivePath=this.getActivePath()},mounted:function(){}},s={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"aside-container"},[n("el-row",{staticClass:"tac"},[n("el-col",{attrs:{span:24}},[n("el-menu",{attrs:{router:!0,"unique-opened":"","background-color":"#001529","text-color":"rgb(191, 203, 217)","active-text-color":"#ffffff",collapse:t.collapsed,"default-active":t.initActivePath},on:{open:t.handleOpen,close:t.handleClose}},t._l(t.routers,function(e){return t.showBarItem(e)?n("asideBarItem",{key:e.path,attrs:{router:e},on:{setActivePath:t.setActivePath}}):t._e()}),1)],1)],1)],1)},staticRenderFns:[]};var o={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{"separator-class":"el-icon-arrow-right"}},[n("transition-group",t._l(t.levelList,function(e,a){return e.name?n("el-breadcrumb-item",{key:e.path},["noredirect"===e.redirect||a==t.levelList.length-1?n("span",{staticClass:"no-redirect"},[t._v(t._s(e.name))]):n("router-link",{attrs:{to:e.redirect||e.path}},[t._v(t._s(e.name))])],1):t._e()}),1)],1)},staticRenderFns:[]};var c={data:function(){return{username:"",nickname:"",version:"1.0.0"}},created:function(){this.username=window.sessionStorage.getItem("username"),this.nickname=window.sessionStorage.getItem("realname"),this.version=window.sessionStorage.getItem("version")},methods:{hadleLogout:function(){window.sessionStorage.clear(),this.$http({method:"GET",url:"/user/logout"}),this.$router.push("/login")}},destroyed:function(){window.sessionStorage.setItem("activePath","/")}},l={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"user-dropdown-wrap"},[a("el-dropdown",[a("div",{staticClass:"user-dropdown-photo"},[t._v("\n 当前版本号:\n "),a("el-tag",{attrs:{size:"medium"}},[t._v(t._s(t.version))]),t._v(" "),a("span",{staticClass:"user-dropdown-text"},[t._v("\n "+t._s(t.nickname)+"("+t._s(t.username)+")\n "),a("i",{staticClass:"el-icon-caret-bottom"})]),t._v(" "),a("img",{attrs:{src:n("BQ5I"),alt:"user"}})],1),t._v(" "),a("el-dropdown-menu",{attrs:{solt:"dropdown"}},[a("el-dropdown-item",[a("router-link",{attrs:{to:"/user/self"}},[a("i",{staticClass:"el-icon-s-custom"}),t._v("个人信息\n ")])],1),t._v(" "),a("el-dropdown-item",{attrs:{divided:""}},[a("a",{on:{click:function(e){return t.hadleLogout()}}},[a("i",{staticClass:"el-icon-switch-button"}),t._v("退出登录\n ")])])],1)],1)],1)},staticRenderFns:[]};var u={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"viewer-container"},[e("router-view")],1)},staticRenderFns:[]};var d={name:"home",components:{asideBar:n("VU/8")(i,s,!1,function(t){n("GWYl")},"data-v-1dde93fa",null).exports,breadcrumb:n("VU/8")({name:"breadcrumb",data:function(){return{levelList:[]}},created:function(){this.getBreadcrumb()},watch:{$route:function(){this.getBreadcrumb()}},methods:{getBreadcrumb:function(){var t=this.$route.matched.filter(function(t){return t.name});this.levelList=t}}},o,!1,function(t){n("Yuwj")},"data-v-a2157ea2",null).exports,userDropdown:n("VU/8")(c,l,!1,function(t){n("lv/T")},"data-v-72485615",null).exports,viewMain:n("VU/8")({name:"viewer",components:{},data:function(){return{}},computed:{},watch:{},methods:{},created:function(){},mounted:function(){}},u,!1,function(t){n("mWqL")},"data-v-7b74460c",null).exports},data:function(){return{title:"SQLREST",isCollapse:null}},computed:{},watch:{},methods:{handleToggleCollapse:function(){var t=!this.isCollapse;this.isCollapse=t,this.$refs.asideBar.updateCollapse(t)}},created:function(){},mounted:function(){}},A={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("el-container",{staticClass:"index-container"},[a("el-aside",{attrs:{width:t.isCollapse?"64px":"250px"}},[a("div",{staticClass:"title"},[a("img",{attrs:{src:n("7Otq")}}),t._v(" "),t.isCollapse?t._e():a("span",{staticClass:"title-text"},[t._v(t._s(t.title))])]),t._v(" "),a("asideBar",{ref:"asideBar"})],1),t._v(" "),a("el-main",[a("el-header",[a("div",{staticClass:"collapse",on:{click:t.handleToggleCollapse}},[t.isCollapse?a("i",{staticClass:"el-icon-s-unfold"}):a("i",{staticClass:"el-icon-s-fold"})]),t._v(" "),a("breadcrumb"),t._v(" "),a("userDropdown")],1),t._v(" "),a("viewMain")],1)],1)},staticRenderFns:[]};var h=n("VU/8")(d,A,!1,function(t){n("z9t0")},"data-v-4972070e",null);e.default=h.exports},"7Otq":function(t,e,n){t.exports=n.p+"static/img/logo.a674d30.png"},ASLc:function(t,e){},BQ5I:function(t,e){t.exports="data:image/jpeg;base64,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"},GWYl:function(t,e){},Yuwj:function(t,e){},"lv/T":function(t,e){},mWqL:function(t,e){},z9t0:function(t,e){}});
//# sourceMappingURL=2.81f052b9451eeaa2ec45.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/components/asideBar/asideBarItem.vue","webpack:///./src/components/asideBar/asideBarItem.vue?5e90","webpack:///./src/components/asideBar/asideBarItem.vue","webpack:///src/components/asideBar/asideBar.vue","webpack:///./src/components/asideBar/asideBar.vue?3399","webpack:///./src/components/asideBar/asideBar.vue","webpack:///./src/components/breadcrumb/index.vue?cf18","webpack:///./src/components/breadcrumb/index.vue","webpack:///src/components/userDropdown/index.vue","webpack:///./src/components/userDropdown/index.vue?61d3","webpack:///./src/components/userDropdown/index.vue","webpack:///./src/views/viewer.vue?508d","webpack:///./src/views/viewer.vue","webpack:///src/views/layout.vue","webpack:///src/components/breadcrumb/index.vue","webpack:///src/views/viewer.vue","webpack:///./src/views/layout.vue?0d9b","webpack:///./src/views/layout.vue","webpack:///./src/assets/logo.png","webpack:///./src/assets/user.jpg"],"names":["asideBarItem","name","props","router","type","Object","components","data","computed","watch","methods","hasChildrenAndShow","hidden","hasOwnProperty","saveActivePath","path","this","$emit","created","mounted","asideBar_asideBarItem","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","index","slot","class","icon","_v","_s","_l","child","childKey","key","on","click","$event","staticRenderFns","asideBar","__webpack_require__","normalizeComponent","ssrContext","collapsed","initActivePath","routers","$router","options","routes","children","showBarItem","handleOpen","keyPath","handleClose","updateCollapse","collapse","setActivePath","window","sessionStorage","setItem","getActivePath","getItem","asideBar_asideBar","span","unique-opened","background-color","text-color","active-text-color","default-active","open","close","_e","components_breadcrumb","separator-class","item","redirect","levelList","length","to","userDropdown","username","nickname","version","hadleLogout","clear","$http","method","url","push","destroyed","components_userDropdown","size","src","alt","solt","divided","views_viewer","layout","asideBar_normalizeComponent","breadcrumb","breadcrumb_normalizeComponent","getBreadcrumb","$route","matched","filter","userDropdown_normalizeComponent","viewMain","viewer_normalizeComponent","title","isCollapse","handleToggleCollapse","status","$refs","views_layout","width","ref","layout_Component","layout_normalizeComponent","__webpack_exports__","module","exports","p"],"mappings":"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","file":"static/js/2.81f052b9451eeaa2ec45.js","sourcesContent":["<template>\r\n <div class=\"asideBarItem-container\">\r\n <!-- 如果hasOwnProperty监测有children 就循环递归展示-->\r\n <el-submenu :index=\"router.path\" v-if=\"hasChildrenAndShow(router)\">\r\n <template slot=\"title\">\r\n <i :class=\"router.icon\"></i>\r\n <span slot=\"title\">{{router.name}}</span>\r\n </template>\r\n <!--递归子孙导航-->\r\n <asideBarItem v-for=\"(child, childKey) in router.children\" :key=\"child.path\" :router=\"child\"></asideBarItem>\r\n </el-submenu>\r\n <!-- 如果没有 就展示一级导航 -->\r\n <el-menu-item v-else :key=\"router.path\" :index=\"router.path\" @click=\"saveActivePath(router.path)\">\r\n <i :class=\"router.icon\"></i>\r\n <span>{{router.name}}</span>\r\n </el-menu-item>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n//hasOwnProperty可以用来检测一个对象是否含有特定的自身属性\r\nexport default {\r\n name: \"asideBarItem\",\r\n props: {\r\n router: {\r\n type: Object\r\n },\r\n },\r\n components: {},\r\n data() {\r\n return {\r\n };\r\n },\r\n computed: {\r\n // router () {\r\n // return this.$router.options.routes\r\n // }\r\n },\r\n watch: {},\r\n methods: {\r\n hasChildrenAndShow(router){\r\n if(router.hidden){\r\n return false\r\n }\r\n\r\n return router.hasOwnProperty('children');\r\n },\r\n saveActivePath(path) {\r\n //alert(path);\r\n this.$emit('setActivePath',path);\r\n },\r\n },\r\n created() {\r\n },\r\n mounted() {}\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-menu-item.is-active {\r\n background-color: #1890ff !important;\r\n}\r\n\r\n/*隐藏文字*/\r\n.el-menu--collapse .asideBarItem-container span{\r\n display: none;\r\n}\r\n/*隐藏 > */\r\n.el-menu--collapse .asideBarItem-container .el-submenu__title .el-submenu__icon-arrow{\r\n display: none;\r\n}\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/asideBar/asideBarItem.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"asideBarItem-container\"},[(_vm.hasChildrenAndShow(_vm.router))?_c('el-submenu',{attrs:{\"index\":_vm.router.path}},[_c('template',{slot:\"title\"},[_c('i',{class:_vm.router.icon}),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.router.name))])]),_vm._v(\" \"),_vm._l((_vm.router.children),function(child,childKey){return _c('asideBarItem',{key:child.path,attrs:{\"router\":child}})})],2):_c('el-menu-item',{key:_vm.router.path,attrs:{\"index\":_vm.router.path},on:{\"click\":function($event){return _vm.saveActivePath(_vm.router.path)}}},[_c('i',{class:_vm.router.icon}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.router.name))])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-645f620a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/asideBar/asideBarItem.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-645f620a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./asideBarItem.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBarItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBarItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-645f620a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./asideBarItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-645f620a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/asideBar/asideBarItem.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"aside-container\">\r\n <el-row class=\"tac\">\r\n <el-col :span=\"24\">\r\n <!-- 整体左侧导航 -->\r\n <el-menu\r\n :router=\"true\"\r\n unique-opened\r\n @open=\"handleOpen\"\r\n @close=\"handleClose\"\r\n background-color=\"#001529\"\r\n text-color=\"rgb(191, 203, 217)\"\r\n active-text-color=\"#ffffff\"\r\n :collapse=\"collapsed\"\r\n :default-active=\"initActivePath\"\r\n >\r\n <!-- 左侧导航栏抽取循环部分 将路由列表传给子组件-->\r\n <asideBarItem v-for=\"router in routers\" :router=\"router\" v-if=\"showBarItem(router)\" @setActivePath='setActivePath' :key=\"router.path\"></asideBarItem>\r\n </el-menu>\r\n </el-col>\r\n </el-row>\r\n </div>\r\n</template>\r\n \r\n<script>\r\nimport asideBarItem from \"@/components/asideBar/asideBarItem\";\r\nexport default {\r\n name: \"asideBar\",\r\n components: {\r\n asideBarItem\r\n },\r\n data() {\r\n return {\r\n collapsed:false,\r\n initActivePath:'/dashboard'\r\n };\r\n },\r\n computed: {\r\n routers() {\r\n //console.log(this.$router.options);\r\n //this.$router.options获取路由列表\r\n return this.$router.options.routes[0].children;\r\n },\r\n },\r\n watch: {},\r\n methods: {\r\n showBarItem(router){\r\n if(router.hidden){\r\n return false\r\n }\r\n\r\n return true;\r\n },\r\n handleOpen(key, keyPath) {\r\n //点击打开时当前的路径\r\n //console.log(key, keyPath, 'handleOpen');\r\n },\r\n handleClose(key, keyPath) {\r\n //console.log(key, keyPath, 'handleClose');\r\n },\r\n updateCollapse(collapse){\r\n this.collapsed=collapse;\r\n //console.log(\"==========\"+this.isCollapse);\r\n },\r\n setActivePath(path){\r\n this.initActivePath=path;\r\n window.sessionStorage.setItem(\"activePath\", path);\r\n //console.log(\"update active path \"+this.initActivePath);\r\n },\r\n getActivePath(){\r\n return window.sessionStorage.getItem(\"activePath\");\r\n }\r\n },\r\n created() {\r\n this.initActivePath = this.getActivePath();\r\n //console.log(\"init active path \"+this.initActivePath);\r\n },\r\n mounted() {\r\n // console.log(this.$router.options.routes[1])\r\n }\r\n};\r\n</script>\r\n \r\n <style scoped>\r\n.aside-container {\r\n padding-top: 2px;\r\n}\r\n\r\n.el-menu {\r\n padding: 0;\r\n border-right: none;\r\n}\r\n\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/asideBar/asideBar.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-container\"},[_c('el-row',{staticClass:\"tac\"},[_c('el-col',{attrs:{\"span\":24}},[_c('el-menu',{attrs:{\"router\":true,\"unique-opened\":\"\",\"background-color\":\"#001529\",\"text-color\":\"rgb(191, 203, 217)\",\"active-text-color\":\"#ffffff\",\"collapse\":_vm.collapsed,\"default-active\":_vm.initActivePath},on:{\"open\":_vm.handleOpen,\"close\":_vm.handleClose}},_vm._l((_vm.routers),function(router){return (_vm.showBarItem(router))?_c('asideBarItem',{key:router.path,attrs:{\"router\":router},on:{\"setActivePath\":_vm.setActivePath}}):_vm._e()}),1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1dde93fa\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/asideBar/asideBar.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1dde93fa\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./asideBar.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBar.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./asideBar.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1dde93fa\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./asideBar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1dde93fa\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/asideBar/asideBar.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-breadcrumb',{staticClass:\"app-breadcrumb\",attrs:{\"separator-class\":\"el-icon-arrow-right\"}},[_c('transition-group',_vm._l((_vm.levelList),function(item,index){return (item.name)?_c('el-breadcrumb-item',{key:item.path},[(item.redirect===\"noredirect\"||index==_vm.levelList.length-1)?_c('span',{staticClass:\"no-redirect\"},[_vm._v(_vm._s(item.name))]):_c('router-link',{attrs:{\"to\":item.redirect||item.path}},[_vm._v(_vm._s(item.name))])],1):_vm._e()}),1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a2157ea2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a2157ea2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a2157ea2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a2157ea2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"user-dropdown-wrap\">\r\n <el-dropdown>\r\n <div class=\"user-dropdown-photo\">\r\n 当前版本号:\r\n <el-tag size=\"medium\">{{ version }}</el-tag>\r\n <span class=\"user-dropdown-text\">\r\n {{ nickname }}({{username}})\r\n <i class=\"el-icon-caret-bottom\"></i>\r\n </span>\r\n <img src=\"../../assets/user.jpg\"\r\n alt=\"user\" />\r\n </div>\r\n <el-dropdown-menu solt=\"dropdown\">\r\n <el-dropdown-item>\r\n <router-link to=\"/user/self\">\r\n <i class=\"el-icon-s-custom\"></i>个人信息\r\n </router-link>\r\n </el-dropdown-item>\r\n <el-dropdown-item divided>\r\n <a @click=\"hadleLogout()\">\r\n <i class=\"el-icon-switch-button\"></i>退出登录\r\n </a>\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data () {\r\n return {\r\n username: \"\",\r\n nickname: \"\",\r\n version: \"1.0.0\"\r\n };\r\n },\r\n created () {\r\n this.username = window.sessionStorage.getItem(\"username\");\r\n this.nickname = window.sessionStorage.getItem(\"realname\");\r\n this.version = window.sessionStorage.getItem(\"version\");\r\n },\r\n methods: {\r\n hadleLogout () {\r\n window.sessionStorage.clear();\r\n this.$http({\r\n method: 'GET',\r\n url: '/user/logout'\r\n }),\r\n this.$router.push(\"/login\");\r\n }\r\n },\r\n destroyed () {\r\n window.sessionStorage.setItem(\"activePath\", \"/\");\r\n }\r\n};\r\n</script>\r\n<style scoped>\r\n.user-dropdown-wrap {\r\n height: 60px;\r\n padding: 10px 0;\r\n float: right;\r\n}\r\n\r\n.user-dropdown-wrap .user-dropdown-photo img {\r\n width: 30px;\r\n height: 30px;\r\n vertical-align: middle;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/userDropdown/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-dropdown-wrap\"},[_c('el-dropdown',[_c('div',{staticClass:\"user-dropdown-photo\"},[_vm._v(\"\\n 当前版本号:\\n \"),_c('el-tag',{attrs:{\"size\":\"medium\"}},[_vm._v(_vm._s(_vm.version))]),_vm._v(\" \"),_c('span',{staticClass:\"user-dropdown-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.nickname)+\"(\"+_vm._s(_vm.username)+\")\\n \"),_c('i',{staticClass:\"el-icon-caret-bottom\"})]),_vm._v(\" \"),_c('img',{attrs:{\"src\":require(\"../../assets/user.jpg\"),\"alt\":\"user\"}})],1),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"solt\":\"dropdown\"}},[_c('el-dropdown-item',[_c('router-link',{attrs:{\"to\":\"/user/self\"}},[_c('i',{staticClass:\"el-icon-s-custom\"}),_vm._v(\"个人信息\\n \")])],1),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"}},[_c('a',{on:{\"click\":function($event){return _vm.hadleLogout()}}},[_c('i',{staticClass:\"el-icon-switch-button\"}),_vm._v(\"退出登录\\n \")])])],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-72485615\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userDropdown/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-72485615\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72485615\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-72485615\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userDropdown/index.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"viewer-container\"},[_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7b74460c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/viewer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7b74460c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./viewer.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./viewer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./viewer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7b74460c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./viewer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7b74460c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/viewer.vue\n// module id = null\n// module chunks = ","<template>\r\n <el-container class=\"index-container\">\r\n <el-aside :width=\"isCollapse?'64px':'250px'\">\r\n <!-- 左侧LOGO -->\r\n <div class=\"title\">\r\n <img src=\"../assets/logo.png\" />\r\n <span class=\"title-text\"\r\n v-if=\"!isCollapse\">{{title}}</span>\r\n </div>\r\n <!-- 左侧导航菜单 -->\r\n <asideBar ref=\"asideBar\"></asideBar>\r\n </el-aside>\r\n <el-main>\r\n <el-header>\r\n <!-- 折叠图标 -->\r\n <div @click=\"handleToggleCollapse\"\r\n class=\"collapse\">\r\n <i class=\"el-icon-s-unfold\"\r\n v-if=\"isCollapse\"></i>\r\n <i class=\"el-icon-s-fold\"\r\n v-else></i>\r\n </div>\r\n\r\n <!-- 面包屑导航 -->\r\n <breadcrumb></breadcrumb>\r\n <userDropdown></userDropdown>\r\n </el-header>\r\n\r\n <!-- 右侧显示区域 -->\r\n <viewMain></viewMain>\r\n </el-main>\r\n </el-container>\r\n</template>\r\n\r\n<script>\r\nimport asideBar from \"@/components/asideBar/asideBar\";\r\nimport breadcrumb from \"@/components/breadcrumb/index\";\r\nimport userDropdown from \"@/components/userDropdown/index\"\r\nimport viewMain from \"@/views/viewer\";\r\n\r\nexport default {\r\n name: \"home\",\r\n components: {\r\n asideBar,\r\n breadcrumb,\r\n userDropdown,\r\n viewMain\r\n },\r\n data () {\r\n return {\r\n title: \"SQLREST\",\r\n isCollapse: null\r\n };\r\n },\r\n computed: {},\r\n watch: {},\r\n methods: {\r\n handleToggleCollapse () {\r\n let status = !this.isCollapse;\r\n this.isCollapse = status;\r\n this.$refs.asideBar.updateCollapse(status);\r\n }\r\n },\r\n created () {\r\n },\r\n mounted () { }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.index-container {\r\n height: 100%;\r\n}\r\n\r\n.el-aside {\r\n float: left;\r\n background: #002140;\r\n color: #333;\r\n text-align: left;\r\n}\r\n\r\n.el-aside .title {\r\n height: 60px;\r\n background: #001529;\r\n line-height: 64px;\r\n background: #002140;\r\n text-align: center;\r\n}\r\n\r\n.el-aside .title img {\r\n width: 50px;\r\n height: 50px;\r\n vertical-align: middle;\r\n}\r\n\r\n.el-aside .title .title-text {\r\n color: #fff;\r\n font-weight: 600;\r\n font-size: 20px;\r\n vertical-align: middle;\r\n}\r\n\r\n.el-header {\r\n padding: 0px;\r\n color: #ffffff;\r\n width: 100%;\r\n background: #fff;\r\n}\r\n\r\n.el-header .collapse {\r\n float: left;\r\n padding-left: 2px;\r\n font-size: 22px;\r\n color: #838383;\r\n margin-top: 10px;\r\n margin-right: 20px;\r\n cursor: pointer;\r\n}\r\n\r\n.el-main {\r\n padding: 0px;\r\n float: left;\r\n background-color: #eaedf1;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/layout.vue","<template>\r\n <el-breadcrumb class=\"app-breadcrumb\" separator-class=\"el-icon-arrow-right\">\r\n <transition-group>\r\n <el-breadcrumb-item v-for=\"(item,index) in levelList\" :key=\"item.path\" v-if=\"item.name\">\r\n <span v-if='item.redirect===\"noredirect\"||index==levelList.length-1' class=\"no-redirect\">{{item.name}}</span>\r\n <router-link v-else :to=\"item.redirect||item.path\">{{item.name}}</router-link>\r\n </el-breadcrumb-item>\r\n </transition-group>\r\n </el-breadcrumb>\r\n</template>\r\n\r\n<!-- 参考教程:https://www.cnblogs.com/yangguoe/p/9406032.html -->\r\n<script>\r\nexport default {\r\n name: \"breadcrumb\",\r\n data() {\r\n return {\r\n levelList: []\r\n };\r\n },\r\n created() {\r\n this.getBreadcrumb();\r\n },\r\n watch: {\r\n $route() {\r\n this.getBreadcrumb();\r\n }\r\n },\r\n methods: {\r\n getBreadcrumb() {\r\n let matched = this.$route.matched.filter(item => item.name); //$route.matched 将会是一个包含从上到下的所有对象 (副本)。\r\n this.levelList = matched;\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-header .el-breadcrumb {\r\n float: left;\r\n margin: 18px 0 0 20px;\r\n}\r\n\r\n.app-breadcrumb .el-breadcrumb .no-redirect {\r\n color: #97a8be;\r\n cursor: text;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/breadcrumb/index.vue","<template>\r\n <div class=\"viewer-container\">\r\n <router-view></router-view>\r\n </div>\r\n</template>\r\n \r\n<script>\r\nexport default {\r\n name: \"viewer\",\r\n components: {},\r\n data () {\r\n return {};\r\n },\r\n computed: {},\r\n watch: {},\r\n methods: {},\r\n created () { },\r\n mounted () { }\r\n};\r\n</script>\r\n \r\n<style scoped>\r\n.viewer-container {\r\n padding-top: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n}\r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/views/viewer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"index-container\"},[_c('el-aside',{attrs:{\"width\":_vm.isCollapse?'64px':'250px'}},[_c('div',{staticClass:\"title\"},[_c('img',{attrs:{\"src\":require(\"../assets/logo.png\")}}),_vm._v(\" \"),(!_vm.isCollapse)?_c('span',{staticClass:\"title-text\"},[_vm._v(_vm._s(_vm.title))]):_vm._e()]),_vm._v(\" \"),_c('asideBar',{ref:\"asideBar\"})],1),_vm._v(\" \"),_c('el-main',[_c('el-header',[_c('div',{staticClass:\"collapse\",on:{\"click\":_vm.handleToggleCollapse}},[(_vm.isCollapse)?_c('i',{staticClass:\"el-icon-s-unfold\"}):_c('i',{staticClass:\"el-icon-s-fold\"})]),_vm._v(\" \"),_c('breadcrumb'),_vm._v(\" \"),_c('userDropdown')],1),_vm._v(\" \"),_c('viewMain')],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4972070e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/layout.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4972070e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./layout.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./layout.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./layout.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4972070e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./layout.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4972070e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/layout.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/logo.a674d30.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/logo.png\n// module id = 7Otq\n// module chunks = 1 2","module.exports = \"data:image/jpeg;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/user.jpg\n// module id = BQ5I\n// module chunks = 1 2"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([20],{MFey:function(e,t){},i2vO:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a("BO1k"),l=a.n(i),o=a("mvHQ"),r=a.n(o),n={name:"client",components:{},data:function(){return{loading:!0,keyword:null,lists:[],currentPage:1,pageSize:10,totalCount:0,tableData:[],groups:[],clientId:0,selectList:[],showAuthDialog:!1,ShowSecretDialog:!1,clientSecret:"",createform:{name:"",description:"",appKey:"",expireTime:"",tokenAlive:""},rules:{name:[{required:!0,message:"名称不能为空",trigger:"blur"}],appKey:[{required:!0,message:"应用账号不能为空",trigger:"blur"}],expireTime:[{required:!0,message:"到期时间必须选择",trigger:"change"}],tokenAlive:[{required:!0,message:"Token生命期必须选择",trigger:"change"}]},createFormVisible:!1}},methods:{loadData:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/client/list",data:r()({searchText:this.keyword,page:this.currentPage,size:this.pageSize})}).then(function(t){0===t.data.code?(e.currentPage=t.data.pagination.page,e.pageSize=t.data.pagination.size,e.totalCount=t.data.pagination.total,e.tableData=t.data.data):alert("加载数据失败:"+t.data.message)})},loadAllGroups:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/group/listAll",data:r()({page:1,size:2147483647,searchText:null})}).then(function(t){0===t.data.code?e.groups=t.data.data:alert("加载数据失败:"+t.data.message)}).catch(function(e){})},stringFormatExpireDuration:function(e,t){return"FOR_EVER"===e.expireDuration?"永不过期":"ONLY_ONCE"===e.expireDuration?"一次过期":"TIME_VALUE"===e.expireDuration?e.expireAtStr:"-"},stringFormatTokenAlive:function(e,t){return"LONGEVITY"===e.tokenAlive?"长期":"PERIOD"===e.tokenAlive?"短期":"-"},searchByKeyword:function(){this.currentPage=1,this.loadData()},handleClose:function(e){},handleDelete:function(e,t){var a=this;this.$confirm("此操作将此应用ID="+t.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/client/delete/"+t.id).then(function(e){0===e.data.code?a.loadData():alert("删除失败:"+e.data.message)})})},addClient:function(){this.createFormVisible=!0,this.createform={}},handleCreate:function(){var e=this;this.$refs.createform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/client/create",data:r()({name:e.createform.name,description:e.createform.description,appKey:e.createform.appKey,expireTime:e.createform.expireTime,tokenAlive:e.createform.tokenAlive})}).then(function(t){0===t.data.code?(e.createFormVisible=!1,e.$message("添加信息成功"),e.createform={},e.loadData()):alert("添加信息失败:"+t.data.message)}):alert("请检查输入")})},handleSizeChange:function(e){this.loading=!0,this.pageSize=e,this.loadData()},handleCurrentChange:function(e){this.loading=!0,this.currentPage=e,this.loadData()},handleShowSecret:function(e,t){var a=this;this.ShowSecretDialog=!0,this.$http.get("/sqlrest/manager/api/v1/client/secret/"+t.id).then(function(e){0===e.data.code?a.clientSecret=e.data.data:alert("操作失败:"+e.data.message)})},handleCopyText:function(){document.getElementById("secretTextInput").select(),document.execCommand("copy"),this.$message.success("复制成功")},handleAuthorize:function(e,t){var a=this;this.showAuthDialog=!0,this.$http.get("/sqlrest/manager/api/v1/client/auth/"+t.id).then(function(e){a.selectList=[],a.clientId=t.id;var i=!0,o=!1,r=void 0;try{for(var n,s=l()(e.data);!(i=(n=s.next()).done);i=!0){var c=n.value;a.selectList.push(c.id)}}catch(e){o=!0,r=e}finally{try{!i&&s.return&&s.return()}finally{if(o)throw r}}})},handleSaveAuth:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/client/auth/create",data:r()({id:this.clientId,groupIds:this.selectList})}).then(function(t){0===t.data.code?e.showAuthDialog=!1:alert("操作失败:"+t.data.message)})}},created:function(){this.loadData()}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-card",[a("div",{staticClass:"client-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"请输入名称关键字搜索",size:"mini",clearable:!0},on:{change:e.searchByKeyword},model:{value:e.keyword,callback:function(t){e.keyword=t},expression:"keyword"}})],1)]),e._v(" "),a("div",{staticClass:"right-add-button-group"},[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:e.addClient}},[e._v("添加")])],1)]),e._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:e.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"5%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"应用名称","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"description",label:"描述","show-overflow-tooltip":"","min-width":"10%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"appKey",label:"应用账号","show-overflow-tooltip":"","min-width":"12%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"expireDuration",label:"过期时间",formatter:e.stringFormatExpireDuration,"show-overflow-tooltip":"","min-width":"18%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"isExpired",label:"是否过期","show-overflow-tooltip":"","min-width":"10%"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.isExpired?a("el-tag",{attrs:{type:"danger",effect:"dark",size:"mini"}},[e._v("已过期\n ")]):e._e(),e._v(" "),t.row.isExpired?e._e():a("el-tag",{attrs:{type:"primary",effect:"dark",size:"mini"}},[e._v("未过期\n ")])]}}])}),e._v(" "),a("el-table-column",{attrs:{prop:"tokenAlive",label:"Token生命期",formatter:e.stringFormatTokenAlive,"show-overflow-tooltip":"","min-width":"18%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"18%"}}),e._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"35%"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button-group",[a("el-button",{attrs:{size:"small",type:"danger",icon:"el-icon-document",round:""},on:{click:function(a){return e.handleAuthorize(t.$index,t.row)}}},[e._v("授权")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-document",round:""},on:{click:function(a){return e.handleShowSecret(t.$index,t.row)}}},[e._v("密钥")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-delete",round:""},on:{click:function(a){return e.handleDelete(t.$index,t.row)}}},[e._v("删除")])],1)]}}])})],1),e._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":e.currentPage,"page-sizes":[5,10,20,40],"page-size":e.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("el-dialog",{attrs:{title:"添加应用信息",visible:e.createFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.createFormVisible=t}}},[a("el-form",{ref:"createform",attrs:{model:e.createform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"应用名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.name,callback:function(t){e.$set(e.createform,"name",t)},expression:"createform.name"}})],1),e._v(" "),a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"描述","label-width":"120px",prop:"description"}},[a("el-input",{attrs:{type:"textarea",rows:6,spellcheck:!1,placeholder:"请输入","auto-complete":"off"},model:{value:e.createform.description,callback:function(t){e.$set(e.createform,"description",t)},expression:"createform.description"}})],1),e._v(" "),a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"应用账号","label-width":"120px",prop:"appKey"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.appKey,callback:function(t){e.$set(e.createform,"appKey",t)},expression:"createform.appKey"}})],1),e._v(" "),a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"应用到期时长","label-width":"120px",prop:"expireTime"}},[a("el-select",{model:{value:e.createform.expireTime,callback:function(t){e.$set(e.createform,"expireTime",t)},expression:"createform.expireTime"}},[a("el-option",{attrs:{label:"无期",value:"EXPIRE_FOR_EVER"}}),e._v(" "),a("el-option",{attrs:{label:"一次",value:"EXPIRE_ONLY_ONCE"}}),e._v(" "),a("el-option",{attrs:{label:"5分钟",value:"EXPIRE_05_MIN"}}),e._v(" "),a("el-option",{attrs:{label:"30分钟",value:"EXPIRE_30_MIN"}}),e._v(" "),a("el-option",{attrs:{label:"1小时",value:"EXPIRE_01_HOUR"}}),e._v(" "),a("el-option",{attrs:{label:"12小时",value:"EXPIRE_12_HOUR"}}),e._v(" "),a("el-option",{attrs:{label:"1天",value:"EXPIRE_01_DAY"}}),e._v(" "),a("el-option",{attrs:{label:"15天",value:"EXPIRE_15_DAY"}}),e._v(" "),a("el-option",{attrs:{label:"1个月",value:"EXPIRE_01_MOUTH"}})],1)],1),e._v(" "),a("el-form-item",{staticStyle:{width:"35%"},attrs:{"label-width":"120px",prop:"tokenAlive"}},[a("span",{staticStyle:{display:"inline-block"},attrs:{slot:"label"},slot:"label"},[e._v("\n Token生命\n "),a("el-tooltip",{attrs:{effect:"dark",content:"‘短期’的token时长为7200秒,到期续约再调用认证接口获取;‘长期’的token永不会过期,但应用过期时也即随之过期,应用被删除时也即随之消亡.",placement:"bottom"}},[a("i",{staticClass:"el-icon-question"})])],1),e._v(" "),a("el-select",{model:{value:e.createform.tokenAlive,callback:function(t){e.$set(e.createform,"tokenAlive",t)},expression:"createform.tokenAlive"}},[a("el-option",{attrs:{label:"短期",value:"PERIOD"}}),e._v(" "),a("el-option",{attrs:{label:"长期",value:"LONGEVITY"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.createFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleCreate}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"查看密钥",visible:e.ShowSecretDialog},on:{"update:visible":function(t){e.ShowSecretDialog=t}}},[a("el-input",{staticStyle:{width:"55%"},attrs:{type:"input",id:"secretTextInput"},model:{value:e.clientSecret,callback:function(t){e.clientSecret=t},expression:"clientSecret"}}),e._v(" "),a("el-button",{on:{click:e.handleCopyText}},[e._v("点击复制")]),e._v(" "),a("span",{attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.ShowSecretDialog=!1}}},[e._v("取消")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"授权分组",visible:e.showAuthDialog},on:{"update:visible":function(t){e.showAuthDialog=t},open:e.loadAllGroups}},[a("el-checkbox-group",{model:{value:e.selectList,callback:function(t){e.selectList=t},expression:"selectList"}},e._l(e.groups,function(t){return a("el-checkbox",{key:t.id,attrs:{label:t.id}},[e._v(e._s(t.name))])}),1),e._v(" "),a("span",{attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.showAuthDialog=!1}}},[e._v("取消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.handleSaveAuth()}}},[e._v("保存")])],1)],1)],1)],1)},staticRenderFns:[]};var c=a("VU/8")(n,s,!1,function(e){a("MFey")},"data-v-25634d21",null);t.default=c.exports}});
//# sourceMappingURL=20.1272deb68d764581e1ab.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/setting/client.vue","webpack:///./src/views/setting/client.vue?7502","webpack:///./src/views/setting/client.vue"],"names":["client","name","components","data","loading","keyword","lists","currentPage","pageSize","totalCount","tableData","groups","clientId","selectList","showAuthDialog","ShowSecretDialog","clientSecret","createform","description","appKey","expireTime","tokenAlive","rules","required","message","trigger","createFormVisible","methods","loadData","_this","this","$http","method","headers","Content-Type","url","stringify_default","searchText","page","size","then","res","code","pagination","total","alert","loadAllGroups","_this2","catch","error","stringFormatExpireDuration","row","column","expireDuration","expireAtStr","stringFormatTokenAlive","searchByKeyword","handleClose","done","handleDelete","index","_this3","$confirm","id","confirmButtonText","cancelButtonText","type","delete","addClient","handleCreate","_this4","$refs","validate","valid","$message","handleSizeChange","handleCurrentChange","handleShowSecret","_this5","get","handleCopyText","document","getElementById","select","execCommand","success","handleAuthorize","_this6","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","get_iterator_default","next","item","value","push","err","return","handleSaveAuth","_this7","groupIds","created","setting_client","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","placeholder","clearable","on","change","model","callback","$$v","expression","_v","icon","click","header-cell-style","background","color","border","prop","label","min-width","show-overflow-tooltip","formatter","scopedSlots","_u","key","fn","scope","effect","_e","isExpired","round","$event","$index","align","current-page","page-sizes","page-size","layout","size-change","current-change","title","visible","showClose","before-close","update:visible","ref","status-icon","label-width","auto-complete","$set","rows","spellcheck","display","slot","content","placement","open","_l","_s","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/20.1272deb68d764581e1ab.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"client-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-input placeholder=\"请输入名称关键字搜索\"\r\n size=\"mini\"\r\n v-model=\"keyword\"\r\n @change=\"searchByKeyword\"\r\n :clearable=true\r\n style=\"width:300px\">\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"right-add-button-group\">\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"addClient\">添加</el-button>\r\n </div>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"5%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"应用名称\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"description\"\r\n label=\"描述\"\r\n show-overflow-tooltip\r\n min-width=\"10%\"></el-table-column>\r\n <el-table-column prop=\"appKey\"\r\n label=\"应用账号\"\r\n show-overflow-tooltip\r\n min-width=\"12%\"></el-table-column>\r\n <el-table-column prop=\"expireDuration\"\r\n label=\"过期时间\"\r\n :formatter=\"stringFormatExpireDuration\"\r\n show-overflow-tooltip\r\n min-width=\"18%\"></el-table-column>\r\n <el-table-column prop=\"isExpired\"\r\n label=\"是否过期\"\r\n show-overflow-tooltip\r\n min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-tag v-if=\"scope.row.isExpired\"\r\n type=\"danger\"\r\n effect=\"dark\"\r\n size=\"mini\">已过期\r\n </el-tag>\r\n <el-tag v-if=\"!scope.row.isExpired\"\r\n type=\"primary\"\r\n effect=\"dark\"\r\n size=\"mini\">未过期\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"tokenAlive\"\r\n label=\"Token生命期\"\r\n :formatter=\"stringFormatTokenAlive\"\r\n show-overflow-tooltip\r\n min-width=\"18%\"></el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"18%\">\r\n </el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"35%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"danger\"\r\n icon=\"el-icon-document\"\r\n @click=\"handleAuthorize(scope.$index, scope.row)\"\r\n round>授权</el-button>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-document\"\r\n @click=\"handleShowSecret(scope.$index, scope.row)\"\r\n round>密钥</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPage\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalCount\"></el-pagination>\r\n </div>\r\n\r\n <el-dialog title=\"添加应用信息\"\r\n :visible.sync=\"createFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"createform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"createform\">\r\n <el-form-item label=\"应用名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"描述\"\r\n label-width=\"120px\"\r\n prop=\"description\"\r\n style=\"width:85%\">\r\n <el-input type=\"textarea\"\r\n :rows=\"6\"\r\n :spellcheck=\"false\"\r\n placeholder=\"请输入\"\r\n v-model=\"createform.description\"\r\n auto-complete=\"off\">\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item label=\"应用账号\"\r\n label-width=\"120px\"\r\n prop=\"appKey\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.appKey\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"应用到期时长\"\r\n label-width=\"120px\"\r\n prop=\"expireTime\"\r\n style=\"width:85%\">\r\n <el-select v-model=\"createform.expireTime\">\r\n <el-option label=\"无期\"\r\n value=\"EXPIRE_FOR_EVER\"></el-option>\r\n <el-option label=\"一次\"\r\n value=\"EXPIRE_ONLY_ONCE\"></el-option>\r\n <el-option label=\"5分钟\"\r\n value=\"EXPIRE_05_MIN\"></el-option>\r\n <el-option label=\"30分钟\"\r\n value=\"EXPIRE_30_MIN\"></el-option>\r\n <el-option label=\"1小时\"\r\n value=\"EXPIRE_01_HOUR\"></el-option>\r\n <el-option label=\"12小时\"\r\n value=\"EXPIRE_12_HOUR\"></el-option>\r\n <el-option label=\"1天\"\r\n value=\"EXPIRE_01_DAY\"></el-option>\r\n <el-option label=\"15天\"\r\n value=\"EXPIRE_15_DAY\"></el-option>\r\n <el-option label=\"1个月\"\r\n value=\"EXPIRE_01_MOUTH\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label-width=\"120px\"\r\n prop=\"tokenAlive\"\r\n style=\"width:35%\">\r\n <span slot=\"label\"\r\n style=\"display:inline-block;\">\r\n Token生命\r\n <el-tooltip effect=\"dark\"\r\n content=\"‘短期’的token时长为7200秒,到期续约再调用认证接口获取;‘长期’的token永不会过期,但应用过期时也即随之过期,应用被删除时也即随之消亡.\"\r\n placement=\"bottom\">\r\n <i class='el-icon-question' />\r\n </el-tooltip>\r\n </span>\r\n <el-select v-model=\"createform.tokenAlive\">\r\n <el-option label=\"短期\"\r\n value=\"PERIOD\"></el-option>\r\n <el-option label=\"长期\"\r\n value=\"LONGEVITY\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"createFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleCreate\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"查看密钥\"\r\n :visible.sync=\"ShowSecretDialog\">\r\n <el-input type=\"input\"\r\n style=\"width:55%\"\r\n id=\"secretTextInput\"\r\n v-model=\"clientSecret\"></el-input>\r\n <el-button @click=\"handleCopyText\">点击复制</el-button>\r\n <span slot=\"footer\">\r\n <el-button @click=\"ShowSecretDialog = false\">取消</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"授权分组\"\r\n :visible.sync=\"showAuthDialog\"\r\n @open=\"loadAllGroups\">\r\n <el-checkbox-group v-model=\"selectList\">\r\n <el-checkbox v-for=\"item in groups\"\r\n :label=\"item.id\"\r\n :key=\"item.id\">{{ item.name }}</el-checkbox>\r\n </el-checkbox-group>\r\n <span slot=\"footer\">\r\n <el-button @click=\"showAuthDialog = false\">取消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleSaveAuth()\">保存</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\nexport default {\r\n name: \"client\",\r\n components: {\r\n },\r\n data () {\r\n return {\r\n loading: true,\r\n keyword: null,\r\n lists: [],\r\n currentPage: 1,\r\n pageSize: 10,\r\n totalCount: 0,\r\n tableData: [\r\n ],\r\n groups: [],\r\n clientId: 0,\r\n selectList: [],\r\n showAuthDialog: false,\r\n ShowSecretDialog: false,\r\n clientSecret: '',\r\n createform: {\r\n name: \"\",\r\n description: \"\",\r\n appKey: \"\",\r\n expireTime: \"\",\r\n tokenAlive: \"\",\r\n },\r\n rules: {\r\n name: [\r\n {\r\n required: true,\r\n message: \"名称不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ],\r\n appKey: [\r\n {\r\n required: true,\r\n message: \"应用账号不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ],\r\n expireTime: [\r\n {\r\n required: true,\r\n message: \"到期时间必须选择\",\r\n trigger: \"change\"\r\n }\r\n ],\r\n tokenAlive: [\r\n {\r\n required: true,\r\n message: \"Token生命期必须选择\",\r\n trigger: \"change\"\r\n }\r\n ]\r\n },\r\n createFormVisible: false\r\n }\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/client/list\",\r\n data: JSON.stringify({\r\n searchText: this.keyword,\r\n page: this.currentPage,\r\n size: this.pageSize\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.currentPage = res.data.pagination.page;\r\n this.pageSize = res.data.pagination.size;\r\n this.totalCount = res.data.pagination.total;\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n });\r\n },\r\n loadAllGroups: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/listAll\",\r\n data: JSON.stringify({\r\n page: 1,\r\n size: 2147483647,\r\n searchText: null\r\n })\r\n }).then((res) => {\r\n if (0 === res.data.code) {\r\n this.groups = res.data.data\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }).catch((error) => {\r\n })\r\n },\r\n stringFormatExpireDuration (row, column) {\r\n if (row.expireDuration === \"FOR_EVER\") {\r\n return \"永不过期\";\r\n } else if (row.expireDuration === \"ONLY_ONCE\") {\r\n return \"一次过期\";\r\n } else if (row.expireDuration === \"TIME_VALUE\") {\r\n return row.expireAtStr;\r\n }\r\n return \"-\";\r\n },\r\n stringFormatTokenAlive (row, column) {\r\n if (row.tokenAlive === \"LONGEVITY\") {\r\n return \"长期\";\r\n } else if (row.tokenAlive === \"PERIOD\") {\r\n return \"短期\";\r\n }\r\n return \"-\";\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n handleClose (done) {\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此应用ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/client/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n });\r\n });\r\n },\r\n addClient: function () {\r\n this.createFormVisible = true;\r\n this.createform = {};\r\n },\r\n handleCreate: function () {\r\n this.$refs['createform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/client/create\",\r\n data: JSON.stringify({\r\n name: this.createform.name,\r\n description: this.createform.description,\r\n appKey: this.createform.appKey,\r\n expireTime: this.createform.expireTime,\r\n tokenAlive: this.createform.tokenAlive,\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.createFormVisible = false;\r\n this.$message(\"添加信息成功\");\r\n this.createform = {};\r\n this.loadData();\r\n } else {\r\n alert(\"添加信息失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.loading = true;\r\n this.pageSize = pageSize;\r\n this.loadData();\r\n },\r\n handleCurrentChange: function (currentPage) {\r\n this.loading = true;\r\n this.currentPage = currentPage;\r\n this.loadData();\r\n },\r\n handleShowSecret: function (index, row) {\r\n this.ShowSecretDialog = true\r\n this.$http.get(\"/sqlrest/manager/api/v1/client/secret/\" + row.id)\r\n .then((res) => {\r\n if (0 === res.data.code) {\r\n this.clientSecret = res.data.data\r\n } else {\r\n alert(\"操作失败:\" + res.data.message)\r\n }\r\n })\r\n },\r\n handleCopyText: function () {\r\n var d = document.getElementById(\"secretTextInput\")\r\n d.select() //选中\r\n document.execCommand(\"copy\")\r\n this.$message.success(\"复制成功\")\r\n },\r\n handleAuthorize: function (index, row) {\r\n this.showAuthDialog = true\r\n this.$http.get(\"/sqlrest/manager/api/v1/client/auth/\" + row.id)\r\n .then((res) => {\r\n this.selectList = []\r\n this.clientId = row.id\r\n for (let item of res.data) {\r\n this.selectList.push(item.id)\r\n }\r\n })\r\n },\r\n handleSaveAuth: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/client/auth/create\",\r\n data: JSON.stringify({\r\n id: this.clientId,\r\n groupIds: this.selectList\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.showAuthDialog = false\r\n } else {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n });\r\n }\r\n },\r\n created () {\r\n this.loadData();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n.client-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n width: 300px;\r\n margin-right: auto;\r\n margin: 10px 5px;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-left: auto;\r\n margin: 10px 5px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/setting/client.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"client-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"placeholder\":\"请输入名称关键字搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"right-add-button-group\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.addClient}},[_vm._v(\"添加\")])],1)]),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"5%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"应用名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"description\",\"label\":\"描述\",\"show-overflow-tooltip\":\"\",\"min-width\":\"10%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"appKey\",\"label\":\"应用账号\",\"show-overflow-tooltip\":\"\",\"min-width\":\"12%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"expireDuration\",\"label\":\"过期时间\",\"formatter\":_vm.stringFormatExpireDuration,\"show-overflow-tooltip\":\"\",\"min-width\":\"18%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"isExpired\",\"label\":\"是否过期\",\"show-overflow-tooltip\":\"\",\"min-width\":\"10%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.isExpired)?_c('el-tag',{attrs:{\"type\":\"danger\",\"effect\":\"dark\",\"size\":\"mini\"}},[_vm._v(\"已过期\\n \")]):_vm._e(),_vm._v(\" \"),(!scope.row.isExpired)?_c('el-tag',{attrs:{\"type\":\"primary\",\"effect\":\"dark\",\"size\":\"mini\"}},[_vm._v(\"未过期\\n \")]):_vm._e()]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"tokenAlive\",\"label\":\"Token生命期\",\"formatter\":_vm.stringFormatTokenAlive,\"show-overflow-tooltip\":\"\",\"min-width\":\"18%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"18%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleAuthorize(scope.$index, scope.row)}}},[_vm._v(\"授权\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleShowSecret(scope.$index, scope.row)}}},[_vm._v(\"密钥\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")])],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.pageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"添加应用信息\",\"visible\":_vm.createFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.createFormVisible=$event}}},[_c('el-form',{ref:\"createform\",attrs:{\"model\":_vm.createform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"应用名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.name),callback:function ($$v) {_vm.$set(_vm.createform, \"name\", $$v)},expression:\"createform.name\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"描述\",\"label-width\":\"120px\",\"prop\":\"description\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":6,\"spellcheck\":false,\"placeholder\":\"请输入\",\"auto-complete\":\"off\"},model:{value:(_vm.createform.description),callback:function ($$v) {_vm.$set(_vm.createform, \"description\", $$v)},expression:\"createform.description\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"应用账号\",\"label-width\":\"120px\",\"prop\":\"appKey\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.appKey),callback:function ($$v) {_vm.$set(_vm.createform, \"appKey\", $$v)},expression:\"createform.appKey\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"应用到期时长\",\"label-width\":\"120px\",\"prop\":\"expireTime\"}},[_c('el-select',{model:{value:(_vm.createform.expireTime),callback:function ($$v) {_vm.$set(_vm.createform, \"expireTime\", $$v)},expression:\"createform.expireTime\"}},[_c('el-option',{attrs:{\"label\":\"无期\",\"value\":\"EXPIRE_FOR_EVER\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"一次\",\"value\":\"EXPIRE_ONLY_ONCE\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"5分钟\",\"value\":\"EXPIRE_05_MIN\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"30分钟\",\"value\":\"EXPIRE_30_MIN\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"1小时\",\"value\":\"EXPIRE_01_HOUR\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"12小时\",\"value\":\"EXPIRE_12_HOUR\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"1天\",\"value\":\"EXPIRE_01_DAY\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"15天\",\"value\":\"EXPIRE_15_DAY\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"1个月\",\"value\":\"EXPIRE_01_MOUTH\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"35%\"},attrs:{\"label-width\":\"120px\",\"prop\":\"tokenAlive\"}},[_c('span',{staticStyle:{\"display\":\"inline-block\"},attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"\\n Token生命\\n \"),_c('el-tooltip',{attrs:{\"effect\":\"dark\",\"content\":\"‘短期’的token时长为7200秒,到期续约再调用认证接口获取;‘长期’的token永不会过期,但应用过期时也即随之过期,应用被删除时也即随之消亡.\",\"placement\":\"bottom\"}},[_c('i',{staticClass:\"el-icon-question\"})])],1),_vm._v(\" \"),_c('el-select',{model:{value:(_vm.createform.tokenAlive),callback:function ($$v) {_vm.$set(_vm.createform, \"tokenAlive\", $$v)},expression:\"createform.tokenAlive\"}},[_c('el-option',{attrs:{\"label\":\"短期\",\"value\":\"PERIOD\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"长期\",\"value\":\"LONGEVITY\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.createFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"查看密钥\",\"visible\":_vm.ShowSecretDialog},on:{\"update:visible\":function($event){_vm.ShowSecretDialog=$event}}},[_c('el-input',{staticStyle:{\"width\":\"55%\"},attrs:{\"type\":\"input\",\"id\":\"secretTextInput\"},model:{value:(_vm.clientSecret),callback:function ($$v) {_vm.clientSecret=$$v},expression:\"clientSecret\"}}),_vm._v(\" \"),_c('el-button',{on:{\"click\":_vm.handleCopyText}},[_vm._v(\"点击复制\")]),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.ShowSecretDialog = false}}},[_vm._v(\"取消\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"授权分组\",\"visible\":_vm.showAuthDialog},on:{\"update:visible\":function($event){_vm.showAuthDialog=$event},\"open\":_vm.loadAllGroups}},[_c('el-checkbox-group',{model:{value:(_vm.selectList),callback:function ($$v) {_vm.selectList=$$v},expression:\"selectList\"}},_vm._l((_vm.groups),function(item){return _c('el-checkbox',{key:item.id,attrs:{\"label\":item.id}},[_vm._v(_vm._s(item.name))])}),1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.showAuthDialog = false}}},[_vm._v(\"取消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.handleSaveAuth()}}},[_vm._v(\"保存\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25634d21\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/setting/client.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25634d21\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./client.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./client.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./client.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25634d21\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./client.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-25634d21\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/setting/client.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([18],{BOPB:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a("mvHQ"),o=a.n(r),i=a("mw3O"),n=a.n(i),l={name:"group",components:{},data:function(){return{loading:!0,lists:[],tableData:[],currentPageNum:1,currentPageSize:10,totalItemCount:0,searchText:"",createform:{title:""},updateform:{id:0,title:""},rules:{name:[{required:!0,message:"名称不能为空",trigger:"blur"}]},createFormVisible:!1,updateFormVisible:!1}},methods:{loadData:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/module/listAll",data:o()({page:this.currentPageNum,size:this.currentPageSize,searchText:this.searchText})}).then(function(t){0===t.data.code?(e.totalItemCount=t.data.pagination.total,e.tableData=t.data.data):alert("加载数据失败:"+t.data.message)})},handleClose:function(e){},handleDelete:function(e,t){var a=this;this.$confirm("此操作将此分组ID="+t.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/module/delete/"+t.id).then(function(e){0===e.data.code?a.loadData():alert("删除失败:"+e.data.message)})})},addGroup:function(){this.createFormVisible=!0,this.createform={}},handleCreate:function(){var e=this;this.$refs.createform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/module/create",data:n.a.stringify({name:e.createform.name})}).then(function(t){0===t.data.code?(e.createFormVisible=!1,e.$message("添加成功"),e.createform={},e.loadData()):alert("添加失败:"+t.data.message)}):alert("请检查输入")})},handleUpdate:function(e,t){this.updateform=JSON.parse(o()(t)),this.updateFormVisible=!0},handleSave:function(){var e=this;this.$refs.updateform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/module/update/"+e.updateform.id,data:n.a.stringify({name:e.updateform.name})}).then(function(t){0===t.data.code?(e.updateFormVisible=!1,e.$message("修改成功"),e.loadData(),e.updateform={}):alert("修改失败:"+t.data.message)}):alert("请检查输入")})},handleSizeChange:function(e){this.currentPageSize=e,this.loadData()},handleCurrentChange:function(e){this.currentPageNum=e,this.loadData()},searchByKeyword:function(){this.currentPage=1,this.loadData()}},mounted:function(){this.loadData()}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-card",[a("div",{staticClass:"group-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"名称搜索",size:"mini",clearable:!0},on:{change:e.searchByKeyword},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}})],1)]),e._v(" "),a("div",{staticClass:"right-add-button-group"},[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:e.addGroup}},[e._v("添加")])],1)]),e._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:e.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"5%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"模块名称","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"updateTime",label:"更新时间","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"35%"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button-group",[a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-edit",round:""},on:{click:function(a){return e.handleUpdate(t.$index,t.row)}}},[e._v("编辑")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-delete",round:""},on:{click:function(a){return e.handleDelete(t.$index,t.row)}}},[e._v("删除")])],1)]}}])})],1),e._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":e.currentPageNum,"page-sizes":[5,10,20,40],"page-size":e.currentPageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalItemCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("el-dialog",{attrs:{title:"添加信息",visible:e.createFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.createFormVisible=t}}},[a("el-form",{ref:"createform",attrs:{model:e.createform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"模块名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.name,callback:function(t){e.$set(e.createform,"name",t)},expression:"createform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.createFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleCreate}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"修改信息",visible:e.updateFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.updateFormVisible=t}}},[a("el-form",{ref:"updateform",attrs:{model:e.updateform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"模块名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.updateform.name,callback:function(t){e.$set(e.updateform,"name",t)},expression:"updateform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.updateFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleSave}},[e._v("确 定")])],1)],1)],1)],1)},staticRenderFns:[]};var c=a("VU/8")(l,s,!1,function(e){a("vAB/")},"data-v-567a6825",null);t.default=c.exports},"vAB/":function(e,t){}});
//# sourceMappingURL=18.bb8da82a2138ed7b18a8.js.map
\ No newline at end of file
webpackJsonp([20],{BOPB:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a("mvHQ"),o=a.n(r),i=a("mw3O"),n=a.n(i),l={name:"group",components:{},data:function(){return{loading:!0,lists:[],tableData:[],currentPageNum:1,currentPageSize:10,totalItemCount:0,searchText:"",createform:{title:""},updateform:{id:0,title:""},rules:{name:[{required:!0,message:"名称不能为空",trigger:"blur"}]},createFormVisible:!1,updateFormVisible:!1}},methods:{loadData:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/module/listAll",data:o()({page:this.currentPageNum,size:this.currentPageSize,searchText:this.searchText})}).then(function(t){0===t.data.code?(e.totalItemCount=t.data.pagination.total,e.tableData=t.data.data):alert("加载数据失败:"+t.data.message)})},handleClose:function(e){},handleDelete:function(e,t){var a=this;this.$confirm("此操作将此分组ID="+t.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/module/delete/"+t.id).then(function(e){0===e.data.code?a.loadData():alert("删除失败:"+e.data.message)})})},addGroup:function(){this.createFormVisible=!0,this.createform={}},handleCreate:function(){var e=this;this.$refs.createform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/module/create",data:n.a.stringify({name:e.createform.name})}).then(function(t){0===t.data.code?(e.createFormVisible=!1,e.$message("添加成功"),e.createform={},e.loadData()):alert("添加失败:"+t.data.message)}):alert("请检查输入")})},handleUpdate:function(e,t){this.updateform=JSON.parse(o()(t)),this.updateFormVisible=!0},handleSave:function(){var e=this;this.$refs.updateform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/module/update/"+e.updateform.id,data:n.a.stringify({name:e.updateform.name})}).then(function(t){0===t.data.code?(e.updateFormVisible=!1,e.$message("修改成功"),e.loadData(),e.updateform={}):alert("修改失败:"+t.data.message)}):alert("请检查输入")})},handleSizeChange:function(e){this.currentPageSize=e,this.loadData()},handleCurrentChange:function(e){this.currentPageNum=e,this.loadData()},searchByKeyword:function(){this.currentPage=1,this.loadData()}},mounted:function(){this.loadData()}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-card",[a("div",{staticClass:"group-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"名称搜索",size:"mini",clearable:!0},on:{change:e.searchByKeyword},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}})],1)]),e._v(" "),a("div",{staticClass:"right-add-button-group"},[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:e.addGroup}},[e._v("添加")])],1)]),e._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:e.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"5%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"模块名称","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"updateTime",label:"更新时间","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"35%"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button-group",[a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-edit",round:""},on:{click:function(a){return e.handleUpdate(t.$index,t.row)}}},[e._v("编辑")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-delete",round:""},on:{click:function(a){return e.handleDelete(t.$index,t.row)}}},[e._v("删除")])],1)]}}])})],1),e._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":e.currentPageNum,"page-sizes":[5,10,20,40],"page-size":e.currentPageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalItemCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("el-dialog",{attrs:{title:"添加信息",visible:e.createFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.createFormVisible=t}}},[a("el-form",{ref:"createform",attrs:{model:e.createform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"模块名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.name,callback:function(t){e.$set(e.createform,"name",t)},expression:"createform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.createFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleCreate}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"修改信息",visible:e.updateFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.updateFormVisible=t}}},[a("el-form",{ref:"updateform",attrs:{model:e.updateform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"模块名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.updateform.name,callback:function(t){e.$set(e.updateform,"name",t)},expression:"updateform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.updateFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleSave}},[e._v("确 定")])],1)],1)],1)],1)},staticRenderFns:[]};var c=a("VU/8")(l,s,!1,function(e){a("vAB/")},"data-v-567a6825",null);t.default=c.exports},"vAB/":function(e,t){}});
//# sourceMappingURL=20.7ac0693f49a00ab51b3e.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/interface/module.vue","webpack:///./src/views/interface/module.vue?9624","webpack:///./src/views/interface/module.vue"],"names":["interface_module","name","components","data","loading","lists","tableData","currentPageNum","currentPageSize","totalItemCount","searchText","createform","title","updateform","id","rules","required","message","trigger","createFormVisible","updateFormVisible","methods","loadData","_this","this","$http","method","headers","Content-Type","url","stringify_default","page","size","then","res","code","pagination","total","alert","handleClose","done","handleDelete","index","row","_this2","$confirm","confirmButtonText","cancelButtonText","type","delete","addGroup","handleCreate","_this3","$refs","validate","valid","lib_default","a","stringify","$message","handleUpdate","JSON","parse","handleSave","_this4","handleSizeChange","pageSize","handleCurrentChange","currentPage","searchByKeyword","mounted","views_interface_module","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","placeholder","clearable","on","change","model","value","callback","$$v","expression","_v","icon","click","header-cell-style","background","color","border","prop","label","min-width","show-overflow-tooltip","scopedSlots","_u","key","fn","scope","round","$event","$index","align","current-page","page-sizes","page-size","layout","size-change","current-change","visible","showClose","before-close","update:visible","ref","status-icon","label-width","auto-complete","$set","slot","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/18.bb8da82a2138ed7b18a8.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"group-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-input placeholder=\"名称搜索\"\r\n size=\"mini\"\r\n v-model=\"searchText\"\r\n :clearable=true\r\n style=\"width:300px\"\r\n @change=\"searchByKeyword\">\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"right-add-button-group\">\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"addGroup\">添加</el-button>\r\n </div>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"5%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"模块名称\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"updateTime\"\r\n label=\"更新时间\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"35%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleUpdate(scope.$index, scope.row)\"\r\n round>编辑</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPageNum\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"currentPageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalItemCount\"></el-pagination>\r\n </div>\r\n\r\n <el-dialog title=\"添加信息\"\r\n :visible.sync=\"createFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"createform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"createform\">\r\n <el-form-item label=\"模块名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"createFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleCreate\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"修改信息\"\r\n :visible.sync=\"updateFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"updateform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"updateform\">\r\n <el-form-item label=\"模块名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"updateform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"updateFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleSave\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport qs from \"qs\";\r\n\r\nexport default {\r\n name: \"group\",\r\n components: {\r\n },\r\n data () {\r\n return {\r\n loading: true,\r\n lists: [],\r\n tableData: [\r\n ],\r\n currentPageNum: 1,\r\n currentPageSize: 10,\r\n totalItemCount: 0,\r\n searchText: '',\r\n createform: {\r\n title: \"\",\r\n },\r\n updateform: {\r\n id: 0,\r\n title: \"\",\r\n },\r\n rules: {\r\n name: [\r\n {\r\n required: true,\r\n message: \"名称不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ]\r\n },\r\n createFormVisible: false,\r\n updateFormVisible: false\r\n }\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/module/listAll\",\r\n data: JSON.stringify({\r\n page: this.currentPageNum,\r\n size: this.currentPageSize,\r\n searchText: this.searchText\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.totalItemCount = res.data.pagination.total\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n handleClose (done) {\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此分组ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/module/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n });\r\n });\r\n },\r\n addGroup: function () {\r\n this.createFormVisible = true;\r\n this.createform = {};\r\n },\r\n handleCreate: function () {\r\n this.$refs['createform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/module/create\",\r\n data: qs.stringify({\r\n name: this.createform.name\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.createFormVisible = false;\r\n this.$message(\"添加成功\");\r\n this.createform = {};\r\n this.loadData();\r\n } else {\r\n alert(\"添加失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleUpdate: function (index, row) {\r\n this.updateform = JSON.parse(JSON.stringify(row));\r\n this.updateFormVisible = true;\r\n },\r\n handleSave: function () {\r\n this.$refs['updateform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/module/update/\" + this.updateform.id,\r\n data: qs.stringify({\r\n name: this.updateform.name,\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.updateFormVisible = false;\r\n this.$message(\"修改成功\");\r\n this.loadData();\r\n this.updateform = {};\r\n } else {\r\n alert(\"修改失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.currentPageSize = pageSize;\r\n this.loadData();\r\n },\r\n handleCurrentChange: function (currentPage) {\r\n this.currentPageNum = currentPage;\r\n this.loadData();\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n },\r\n mounted () {\r\n this.loadData();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n.group-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n width: 300px;\r\n margin-right: auto;\r\n margin: 10px 5px;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-right: 5px;\r\n margin: 10px 5px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/interface/module.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"group-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"placeholder\":\"名称搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"right-add-button-group\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.addGroup}},[_vm._v(\"添加\")])],1)]),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"5%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"模块名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"updateTime\",\"label\":\"更新时间\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-edit\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleUpdate(scope.$index, scope.row)}}},[_vm._v(\"编辑\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")])],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPageNum,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.currentPageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalItemCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"添加信息\",\"visible\":_vm.createFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.createFormVisible=$event}}},[_c('el-form',{ref:\"createform\",attrs:{\"model\":_vm.createform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"模块名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.name),callback:function ($$v) {_vm.$set(_vm.createform, \"name\", $$v)},expression:\"createform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.createFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"修改信息\",\"visible\":_vm.updateFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.updateFormVisible=$event}}},[_c('el-form',{ref:\"updateform\",attrs:{\"model\":_vm.updateform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"模块名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.updateform.name),callback:function ($$v) {_vm.$set(_vm.updateform, \"name\", $$v)},expression:\"updateform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.updateFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"确 定\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-567a6825\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/interface/module.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-567a6825\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./module.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./module.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./module.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-567a6825\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./module.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-567a6825\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/interface/module.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/interface/module.vue","webpack:///./src/views/interface/module.vue?9624","webpack:///./src/views/interface/module.vue"],"names":["interface_module","name","components","data","loading","lists","tableData","currentPageNum","currentPageSize","totalItemCount","searchText","createform","title","updateform","id","rules","required","message","trigger","createFormVisible","updateFormVisible","methods","loadData","_this","this","$http","method","headers","Content-Type","url","stringify_default","page","size","then","res","code","pagination","total","alert","handleClose","done","handleDelete","index","row","_this2","$confirm","confirmButtonText","cancelButtonText","type","delete","addGroup","handleCreate","_this3","$refs","validate","valid","lib_default","a","stringify","$message","handleUpdate","JSON","parse","handleSave","_this4","handleSizeChange","pageSize","handleCurrentChange","currentPage","searchByKeyword","mounted","views_interface_module","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","placeholder","clearable","on","change","model","value","callback","$$v","expression","_v","icon","click","header-cell-style","background","color","border","prop","label","min-width","show-overflow-tooltip","scopedSlots","_u","key","fn","scope","round","$event","$index","align","current-page","page-sizes","page-size","layout","size-change","current-change","visible","showClose","before-close","update:visible","ref","status-icon","label-width","auto-complete","$set","slot","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/20.7ac0693f49a00ab51b3e.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"group-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-input placeholder=\"名称搜索\"\r\n size=\"mini\"\r\n v-model=\"searchText\"\r\n :clearable=true\r\n style=\"width:300px\"\r\n @change=\"searchByKeyword\">\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"right-add-button-group\">\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"addGroup\">添加</el-button>\r\n </div>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"5%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"模块名称\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"updateTime\"\r\n label=\"更新时间\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"35%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleUpdate(scope.$index, scope.row)\"\r\n round>编辑</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPageNum\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"currentPageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalItemCount\"></el-pagination>\r\n </div>\r\n\r\n <el-dialog title=\"添加信息\"\r\n :visible.sync=\"createFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"createform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"createform\">\r\n <el-form-item label=\"模块名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"createFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleCreate\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"修改信息\"\r\n :visible.sync=\"updateFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"updateform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"updateform\">\r\n <el-form-item label=\"模块名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"updateform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"updateFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleSave\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport qs from \"qs\";\r\n\r\nexport default {\r\n name: \"group\",\r\n components: {\r\n },\r\n data () {\r\n return {\r\n loading: true,\r\n lists: [],\r\n tableData: [\r\n ],\r\n currentPageNum: 1,\r\n currentPageSize: 10,\r\n totalItemCount: 0,\r\n searchText: '',\r\n createform: {\r\n title: \"\",\r\n },\r\n updateform: {\r\n id: 0,\r\n title: \"\",\r\n },\r\n rules: {\r\n name: [\r\n {\r\n required: true,\r\n message: \"名称不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ]\r\n },\r\n createFormVisible: false,\r\n updateFormVisible: false\r\n }\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/module/listAll\",\r\n data: JSON.stringify({\r\n page: this.currentPageNum,\r\n size: this.currentPageSize,\r\n searchText: this.searchText\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.totalItemCount = res.data.pagination.total\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n handleClose (done) {\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此分组ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/module/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n });\r\n });\r\n },\r\n addGroup: function () {\r\n this.createFormVisible = true;\r\n this.createform = {};\r\n },\r\n handleCreate: function () {\r\n this.$refs['createform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/module/create\",\r\n data: qs.stringify({\r\n name: this.createform.name\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.createFormVisible = false;\r\n this.$message(\"添加成功\");\r\n this.createform = {};\r\n this.loadData();\r\n } else {\r\n alert(\"添加失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleUpdate: function (index, row) {\r\n this.updateform = JSON.parse(JSON.stringify(row));\r\n this.updateFormVisible = true;\r\n },\r\n handleSave: function () {\r\n this.$refs['updateform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/module/update/\" + this.updateform.id,\r\n data: qs.stringify({\r\n name: this.updateform.name,\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.updateFormVisible = false;\r\n this.$message(\"修改成功\");\r\n this.loadData();\r\n this.updateform = {};\r\n } else {\r\n alert(\"修改失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.currentPageSize = pageSize;\r\n this.loadData();\r\n },\r\n handleCurrentChange: function (currentPage) {\r\n this.currentPageNum = currentPage;\r\n this.loadData();\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n },\r\n mounted () {\r\n this.loadData();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n.group-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n width: 300px;\r\n margin-right: auto;\r\n margin: 10px 5px;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-right: 5px;\r\n margin: 10px 5px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/interface/module.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"group-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"placeholder\":\"名称搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"right-add-button-group\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.addGroup}},[_vm._v(\"添加\")])],1)]),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"5%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"模块名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"updateTime\",\"label\":\"更新时间\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-edit\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleUpdate(scope.$index, scope.row)}}},[_vm._v(\"编辑\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")])],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPageNum,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.currentPageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalItemCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"添加信息\",\"visible\":_vm.createFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.createFormVisible=$event}}},[_c('el-form',{ref:\"createform\",attrs:{\"model\":_vm.createform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"模块名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.name),callback:function ($$v) {_vm.$set(_vm.createform, \"name\", $$v)},expression:\"createform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.createFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"修改信息\",\"visible\":_vm.updateFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.updateFormVisible=$event}}},[_c('el-form',{ref:\"updateform\",attrs:{\"model\":_vm.updateform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"模块名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.updateform.name),callback:function ($$v) {_vm.$set(_vm.updateform, \"name\", $$v)},expression:\"updateform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.updateFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"确 定\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-567a6825\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/interface/module.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-567a6825\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./module.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./module.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./module.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-567a6825\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./module.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-567a6825\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/interface/module.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([21],{i2vO:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=a("BO1k"),o=a.n(l),i=a("mvHQ"),r=a.n(i),n={name:"client",components:{},data:function(){return{loading:!0,groupId:null,keyword:null,lists:[],currentPage:1,pageSize:10,totalCount:0,tableData:[],groups:[],clientId:0,selectList:[],showAuthDialog:!1,ShowSecretDialog:!1,clientSecret:"",createform:{name:"",description:"",appKey:"",expireTime:"",tokenAlive:""},rules:{name:[{required:!0,message:"名称不能为空",trigger:"blur"}],appKey:[{required:!0,message:"应用账号不能为空",trigger:"blur"}],expireTime:[{required:!0,message:"到期时间必须选择",trigger:"change"}],tokenAlive:[{required:!0,message:"Token生命期必须选择",trigger:"change"}]},createFormVisible:!1}},methods:{loadData:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/client/list",data:r()({groupId:this.groupId,searchText:this.keyword,page:this.currentPage,size:this.pageSize})}).then(function(t){0===t.data.code?(e.currentPage=t.data.pagination.page,e.pageSize=t.data.pagination.size,e.totalCount=t.data.pagination.total,e.tableData=t.data.data):alert("加载数据失败:"+t.data.message)})},loadAllGroups:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/group/listAll",data:r()({page:1,size:2147483647,searchText:null})}).then(function(t){0===t.data.code?e.groups=t.data.data:alert("加载数据失败:"+t.data.message)}).catch(function(e){})},stringFormatExpireDuration:function(e,t){return"FOR_EVER"===e.expireDuration?"永不过期":"ONLY_ONCE"===e.expireDuration?"一次过期":"TIME_VALUE"===e.expireDuration?e.expireAtStr:"-"},stringFormatTokenAlive:function(e,t){return"LONGEVITY"===e.tokenAlive?"长期":"PERIOD"===e.tokenAlive?"短期":"-"},searchByKeyword:function(){this.currentPage=1,this.loadData()},handleClose:function(e){},handleDelete:function(e,t){var a=this;this.$confirm("此操作将此应用ID="+t.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/client/delete/"+t.id).then(function(e){0===e.data.code?a.loadData():alert("删除失败:"+e.data.message)})})},addClient:function(){this.createFormVisible=!0,this.createform={}},handleCreate:function(){var e=this;this.$refs.createform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/client/create",data:r()({name:e.createform.name,description:e.createform.description,appKey:e.createform.appKey,expireTime:e.createform.expireTime,tokenAlive:e.createform.tokenAlive})}).then(function(t){0===t.data.code?(e.createFormVisible=!1,e.$message("添加信息成功"),e.createform={},e.loadData()):alert("添加信息失败:"+t.data.message)}):alert("请检查输入")})},handleSizeChange:function(e){this.loading=!0,this.pageSize=e,this.loadData()},handleCurrentChange:function(e){this.loading=!0,this.currentPage=e,this.loadData()},handleShowSecret:function(e,t){var a=this;this.ShowSecretDialog=!0,this.$http.get("/sqlrest/manager/api/v1/client/secret/"+t.id).then(function(e){0===e.data.code?a.clientSecret=e.data.data:alert("操作失败:"+e.data.message)})},handleCopyText:function(){document.getElementById("secretTextInput").select(),document.execCommand("copy"),this.$message.success("复制成功")},handleAuthorize:function(e,t){var a=this;this.showAuthDialog=!0,this.$http.get("/sqlrest/manager/api/v1/client/auth/"+t.id).then(function(e){a.selectList=[],a.clientId=t.id;var l=!0,i=!1,r=void 0;try{for(var n,s=o()(e.data);!(l=(n=s.next()).done);l=!0){var c=n.value;a.selectList.push(c.id)}}catch(e){i=!0,r=e}finally{try{!l&&s.return&&s.return()}finally{if(i)throw r}}})},handleSaveAuth:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/client/auth/create",data:r()({id:this.clientId,groupIds:this.selectList})}).then(function(t){0===t.data.code?e.showAuthDialog=!1:alert("操作失败:"+t.data.message)})}},created:function(){this.loadData(),this.loadAllGroups()}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-card",[a("div",{staticClass:"client-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-select",{staticStyle:{width:"200px"},attrs:{size:"mini",clearable:!0,placeholder:"选择授权分组"},on:{change:e.searchByKeyword},model:{value:e.groupId,callback:function(t){e.groupId=t},expression:"groupId"}},e._l(e.groups,function(e,t){return a("el-option",{key:t,attrs:{label:e.name,value:e.id}})}),1),e._v(" "),a("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"请输入名称关键字搜索",size:"mini",clearable:!0},on:{change:e.searchByKeyword},model:{value:e.keyword,callback:function(t){e.keyword=t},expression:"keyword"}})],1)]),e._v(" "),a("div",{staticClass:"right-add-button-group"},[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:e.addClient}},[e._v("添加")])],1)]),e._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:e.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"5%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"应用名称","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"description",label:"描述","show-overflow-tooltip":"","min-width":"10%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"appKey",label:"应用账号","show-overflow-tooltip":"","min-width":"12%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"expireDuration",label:"过期时间",formatter:e.stringFormatExpireDuration,"show-overflow-tooltip":"","min-width":"18%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"isExpired",label:"是否过期","show-overflow-tooltip":"","min-width":"10%"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.isExpired?a("el-tag",{attrs:{type:"danger",effect:"dark",size:"mini"}},[e._v("已过期\n ")]):e._e(),e._v(" "),t.row.isExpired?e._e():a("el-tag",{attrs:{type:"primary",effect:"dark",size:"mini"}},[e._v("未过期\n ")])]}}])}),e._v(" "),a("el-table-column",{attrs:{prop:"tokenAlive",label:"Token生命期",formatter:e.stringFormatTokenAlive,"show-overflow-tooltip":"","min-width":"18%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"18%"}}),e._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"35%"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button-group",[a("el-button",{attrs:{size:"small",type:"danger",icon:"el-icon-document",round:""},on:{click:function(a){return e.handleAuthorize(t.$index,t.row)}}},[e._v("授权")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-document",round:""},on:{click:function(a){return e.handleShowSecret(t.$index,t.row)}}},[e._v("密钥")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-delete",round:""},on:{click:function(a){return e.handleDelete(t.$index,t.row)}}},[e._v("删除")])],1)]}}])})],1),e._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":e.currentPage,"page-sizes":[5,10,20,40],"page-size":e.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("el-dialog",{attrs:{title:"添加应用信息",visible:e.createFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.createFormVisible=t}}},[a("el-form",{ref:"createform",attrs:{model:e.createform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"应用名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.name,callback:function(t){e.$set(e.createform,"name",t)},expression:"createform.name"}})],1),e._v(" "),a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"描述","label-width":"120px",prop:"description"}},[a("el-input",{attrs:{type:"textarea",rows:6,spellcheck:!1,placeholder:"请输入","auto-complete":"off"},model:{value:e.createform.description,callback:function(t){e.$set(e.createform,"description",t)},expression:"createform.description"}})],1),e._v(" "),a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"应用账号","label-width":"120px",prop:"appKey"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.appKey,callback:function(t){e.$set(e.createform,"appKey",t)},expression:"createform.appKey"}})],1),e._v(" "),a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"应用到期时长","label-width":"120px",prop:"expireTime"}},[a("el-select",{model:{value:e.createform.expireTime,callback:function(t){e.$set(e.createform,"expireTime",t)},expression:"createform.expireTime"}},[a("el-option",{attrs:{label:"无期",value:"EXPIRE_FOR_EVER"}}),e._v(" "),a("el-option",{attrs:{label:"一次",value:"EXPIRE_ONLY_ONCE"}}),e._v(" "),a("el-option",{attrs:{label:"5分钟",value:"EXPIRE_05_MIN"}}),e._v(" "),a("el-option",{attrs:{label:"30分钟",value:"EXPIRE_30_MIN"}}),e._v(" "),a("el-option",{attrs:{label:"1小时",value:"EXPIRE_01_HOUR"}}),e._v(" "),a("el-option",{attrs:{label:"12小时",value:"EXPIRE_12_HOUR"}}),e._v(" "),a("el-option",{attrs:{label:"1天",value:"EXPIRE_01_DAY"}}),e._v(" "),a("el-option",{attrs:{label:"15天",value:"EXPIRE_15_DAY"}}),e._v(" "),a("el-option",{attrs:{label:"1个月",value:"EXPIRE_01_MOUTH"}})],1)],1),e._v(" "),a("el-form-item",{staticStyle:{width:"35%"},attrs:{"label-width":"120px",prop:"tokenAlive"}},[a("span",{staticStyle:{display:"inline-block"},attrs:{slot:"label"},slot:"label"},[e._v("\n Token生命\n "),a("el-tooltip",{attrs:{effect:"dark",content:"‘短期’的token时长为7200秒,到期续约再调用认证接口获取;‘长期’的token永不会过期,但应用过期时也即随之过期,应用被删除时也即随之消亡.",placement:"bottom"}},[a("i",{staticClass:"el-icon-question"})])],1),e._v(" "),a("el-select",{model:{value:e.createform.tokenAlive,callback:function(t){e.$set(e.createform,"tokenAlive",t)},expression:"createform.tokenAlive"}},[a("el-option",{attrs:{label:"短期",value:"PERIOD"}}),e._v(" "),a("el-option",{attrs:{label:"长期",value:"LONGEVITY"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.createFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleCreate}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"查看密钥",visible:e.ShowSecretDialog},on:{"update:visible":function(t){e.ShowSecretDialog=t}}},[a("el-input",{staticStyle:{width:"55%"},attrs:{type:"input",id:"secretTextInput"},model:{value:e.clientSecret,callback:function(t){e.clientSecret=t},expression:"clientSecret"}}),e._v(" "),a("el-button",{on:{click:e.handleCopyText}},[e._v("点击复制")]),e._v(" "),a("span",{attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.ShowSecretDialog=!1}}},[e._v("取消")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"授权分组",visible:e.showAuthDialog},on:{"update:visible":function(t){e.showAuthDialog=t},open:e.loadAllGroups}},[a("el-checkbox-group",{model:{value:e.selectList,callback:function(t){e.selectList=t},expression:"selectList"}},e._l(e.groups,function(t){return a("el-checkbox",{key:t.id,attrs:{label:t.id}},[e._v(e._s(t.name))])}),1),e._v(" "),a("span",{attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.showAuthDialog=!1}}},[e._v("取消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.handleSaveAuth()}}},[e._v("保存")])],1)],1)],1)],1)},staticRenderFns:[]};var c=a("VU/8")(n,s,!1,function(e){a("potn")},"data-v-18b8e146",null);t.default=c.exports},potn:function(e,t){}});
//# sourceMappingURL=21.1056a6edefc50b64f16b.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/setting/client.vue","webpack:///./src/views/setting/client.vue?5b6a","webpack:///./src/views/setting/client.vue"],"names":["client","name","components","data","loading","groupId","keyword","lists","currentPage","pageSize","totalCount","tableData","groups","clientId","selectList","showAuthDialog","ShowSecretDialog","clientSecret","createform","description","appKey","expireTime","tokenAlive","rules","required","message","trigger","createFormVisible","methods","loadData","_this","this","$http","method","headers","Content-Type","url","stringify_default","searchText","page","size","then","res","code","pagination","total","alert","loadAllGroups","_this2","catch","error","stringFormatExpireDuration","row","column","expireDuration","expireAtStr","stringFormatTokenAlive","searchByKeyword","handleClose","done","handleDelete","index","_this3","$confirm","id","confirmButtonText","cancelButtonText","type","delete","addClient","handleCreate","_this4","$refs","validate","valid","$message","handleSizeChange","handleCurrentChange","handleShowSecret","_this5","get","handleCopyText","document","getElementById","select","execCommand","success","handleAuthorize","_this6","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","get_iterator_default","next","item","value","push","err","return","handleSaveAuth","_this7","groupIds","created","setting_client","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","clearable","placeholder","on","change","model","callback","$$v","expression","_l","key","label","_v","icon","click","header-cell-style","background","color","border","prop","min-width","show-overflow-tooltip","formatter","scopedSlots","_u","fn","scope","effect","_e","isExpired","round","$event","$index","align","current-page","page-sizes","page-size","layout","size-change","current-change","title","visible","showClose","before-close","update:visible","ref","status-icon","label-width","auto-complete","$set","rows","spellcheck","display","slot","content","placement","open","_s","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/21.1056a6edefc50b64f16b.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"client-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-select v-model=\"groupId\"\r\n size=\"mini\"\r\n @change=\"searchByKeyword\"\r\n :clearable=\"true\"\r\n style=\"width:200px\"\r\n placeholder=\"选择授权分组\">\r\n <el-option v-for=\"(item,index) in groups\"\r\n :key=\"index\"\r\n :label=\"item.name\"\r\n :value=\"item.id\"></el-option>\r\n </el-select>\r\n <el-input placeholder=\"请输入名称关键字搜索\"\r\n size=\"mini\"\r\n v-model=\"keyword\"\r\n @change=\"searchByKeyword\"\r\n :clearable=true\r\n style=\"width:300px\">\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"right-add-button-group\">\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"addClient\">添加</el-button>\r\n </div>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"5%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"应用名称\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"description\"\r\n label=\"描述\"\r\n show-overflow-tooltip\r\n min-width=\"10%\"></el-table-column>\r\n <el-table-column prop=\"appKey\"\r\n label=\"应用账号\"\r\n show-overflow-tooltip\r\n min-width=\"12%\"></el-table-column>\r\n <el-table-column prop=\"expireDuration\"\r\n label=\"过期时间\"\r\n :formatter=\"stringFormatExpireDuration\"\r\n show-overflow-tooltip\r\n min-width=\"18%\"></el-table-column>\r\n <el-table-column prop=\"isExpired\"\r\n label=\"是否过期\"\r\n show-overflow-tooltip\r\n min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-tag v-if=\"scope.row.isExpired\"\r\n type=\"danger\"\r\n effect=\"dark\"\r\n size=\"mini\">已过期\r\n </el-tag>\r\n <el-tag v-if=\"!scope.row.isExpired\"\r\n type=\"primary\"\r\n effect=\"dark\"\r\n size=\"mini\">未过期\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"tokenAlive\"\r\n label=\"Token生命期\"\r\n :formatter=\"stringFormatTokenAlive\"\r\n show-overflow-tooltip\r\n min-width=\"18%\"></el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"18%\">\r\n </el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"35%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"danger\"\r\n icon=\"el-icon-document\"\r\n @click=\"handleAuthorize(scope.$index, scope.row)\"\r\n round>授权</el-button>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-document\"\r\n @click=\"handleShowSecret(scope.$index, scope.row)\"\r\n round>密钥</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPage\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalCount\"></el-pagination>\r\n </div>\r\n\r\n <el-dialog title=\"添加应用信息\"\r\n :visible.sync=\"createFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"createform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"createform\">\r\n <el-form-item label=\"应用名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"描述\"\r\n label-width=\"120px\"\r\n prop=\"description\"\r\n style=\"width:85%\">\r\n <el-input type=\"textarea\"\r\n :rows=\"6\"\r\n :spellcheck=\"false\"\r\n placeholder=\"请输入\"\r\n v-model=\"createform.description\"\r\n auto-complete=\"off\">\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item label=\"应用账号\"\r\n label-width=\"120px\"\r\n prop=\"appKey\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.appKey\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"应用到期时长\"\r\n label-width=\"120px\"\r\n prop=\"expireTime\"\r\n style=\"width:85%\">\r\n <el-select v-model=\"createform.expireTime\">\r\n <el-option label=\"无期\"\r\n value=\"EXPIRE_FOR_EVER\"></el-option>\r\n <el-option label=\"一次\"\r\n value=\"EXPIRE_ONLY_ONCE\"></el-option>\r\n <el-option label=\"5分钟\"\r\n value=\"EXPIRE_05_MIN\"></el-option>\r\n <el-option label=\"30分钟\"\r\n value=\"EXPIRE_30_MIN\"></el-option>\r\n <el-option label=\"1小时\"\r\n value=\"EXPIRE_01_HOUR\"></el-option>\r\n <el-option label=\"12小时\"\r\n value=\"EXPIRE_12_HOUR\"></el-option>\r\n <el-option label=\"1天\"\r\n value=\"EXPIRE_01_DAY\"></el-option>\r\n <el-option label=\"15天\"\r\n value=\"EXPIRE_15_DAY\"></el-option>\r\n <el-option label=\"1个月\"\r\n value=\"EXPIRE_01_MOUTH\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label-width=\"120px\"\r\n prop=\"tokenAlive\"\r\n style=\"width:35%\">\r\n <span slot=\"label\"\r\n style=\"display:inline-block;\">\r\n Token生命\r\n <el-tooltip effect=\"dark\"\r\n content=\"‘短期’的token时长为7200秒,到期续约再调用认证接口获取;‘长期’的token永不会过期,但应用过期时也即随之过期,应用被删除时也即随之消亡.\"\r\n placement=\"bottom\">\r\n <i class='el-icon-question' />\r\n </el-tooltip>\r\n </span>\r\n <el-select v-model=\"createform.tokenAlive\">\r\n <el-option label=\"短期\"\r\n value=\"PERIOD\"></el-option>\r\n <el-option label=\"长期\"\r\n value=\"LONGEVITY\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"createFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleCreate\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"查看密钥\"\r\n :visible.sync=\"ShowSecretDialog\">\r\n <el-input type=\"input\"\r\n style=\"width:55%\"\r\n id=\"secretTextInput\"\r\n v-model=\"clientSecret\"></el-input>\r\n <el-button @click=\"handleCopyText\">点击复制</el-button>\r\n <span slot=\"footer\">\r\n <el-button @click=\"ShowSecretDialog = false\">取消</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"授权分组\"\r\n :visible.sync=\"showAuthDialog\"\r\n @open=\"loadAllGroups\">\r\n <el-checkbox-group v-model=\"selectList\">\r\n <el-checkbox v-for=\"item in groups\"\r\n :label=\"item.id\"\r\n :key=\"item.id\">{{ item.name }}</el-checkbox>\r\n </el-checkbox-group>\r\n <span slot=\"footer\">\r\n <el-button @click=\"showAuthDialog = false\">取消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleSaveAuth()\">保存</el-button>\r\n </span>\r\n </el-dialog>\r\n\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\nexport default {\r\n name: \"client\",\r\n components: {\r\n },\r\n data () {\r\n return {\r\n loading: true,\r\n groupId: null,\r\n keyword: null,\r\n lists: [],\r\n currentPage: 1,\r\n pageSize: 10,\r\n totalCount: 0,\r\n tableData: [\r\n ],\r\n groups: [],\r\n clientId: 0,\r\n selectList: [],\r\n showAuthDialog: false,\r\n ShowSecretDialog: false,\r\n clientSecret: '',\r\n createform: {\r\n name: \"\",\r\n description: \"\",\r\n appKey: \"\",\r\n expireTime: \"\",\r\n tokenAlive: \"\",\r\n },\r\n rules: {\r\n name: [\r\n {\r\n required: true,\r\n message: \"名称不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ],\r\n appKey: [\r\n {\r\n required: true,\r\n message: \"应用账号不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ],\r\n expireTime: [\r\n {\r\n required: true,\r\n message: \"到期时间必须选择\",\r\n trigger: \"change\"\r\n }\r\n ],\r\n tokenAlive: [\r\n {\r\n required: true,\r\n message: \"Token生命期必须选择\",\r\n trigger: \"change\"\r\n }\r\n ]\r\n },\r\n createFormVisible: false\r\n }\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/client/list\",\r\n data: JSON.stringify({\r\n groupId: this.groupId,\r\n searchText: this.keyword,\r\n page: this.currentPage,\r\n size: this.pageSize\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.currentPage = res.data.pagination.page;\r\n this.pageSize = res.data.pagination.size;\r\n this.totalCount = res.data.pagination.total;\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n });\r\n },\r\n loadAllGroups: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/listAll\",\r\n data: JSON.stringify({\r\n page: 1,\r\n size: 2147483647,\r\n searchText: null\r\n })\r\n }).then((res) => {\r\n if (0 === res.data.code) {\r\n this.groups = res.data.data\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }).catch((error) => {\r\n })\r\n },\r\n stringFormatExpireDuration (row, column) {\r\n if (row.expireDuration === \"FOR_EVER\") {\r\n return \"永不过期\";\r\n } else if (row.expireDuration === \"ONLY_ONCE\") {\r\n return \"一次过期\";\r\n } else if (row.expireDuration === \"TIME_VALUE\") {\r\n return row.expireAtStr;\r\n }\r\n return \"-\";\r\n },\r\n stringFormatTokenAlive (row, column) {\r\n if (row.tokenAlive === \"LONGEVITY\") {\r\n return \"长期\";\r\n } else if (row.tokenAlive === \"PERIOD\") {\r\n return \"短期\";\r\n }\r\n return \"-\";\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n handleClose (done) {\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此应用ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/client/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n });\r\n });\r\n },\r\n addClient: function () {\r\n this.createFormVisible = true;\r\n this.createform = {};\r\n },\r\n handleCreate: function () {\r\n this.$refs['createform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/client/create\",\r\n data: JSON.stringify({\r\n name: this.createform.name,\r\n description: this.createform.description,\r\n appKey: this.createform.appKey,\r\n expireTime: this.createform.expireTime,\r\n tokenAlive: this.createform.tokenAlive,\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.createFormVisible = false;\r\n this.$message(\"添加信息成功\");\r\n this.createform = {};\r\n this.loadData();\r\n } else {\r\n alert(\"添加信息失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.loading = true;\r\n this.pageSize = pageSize;\r\n this.loadData();\r\n },\r\n handleCurrentChange: function (currentPage) {\r\n this.loading = true;\r\n this.currentPage = currentPage;\r\n this.loadData();\r\n },\r\n handleShowSecret: function (index, row) {\r\n this.ShowSecretDialog = true\r\n this.$http.get(\"/sqlrest/manager/api/v1/client/secret/\" + row.id)\r\n .then((res) => {\r\n if (0 === res.data.code) {\r\n this.clientSecret = res.data.data\r\n } else {\r\n alert(\"操作失败:\" + res.data.message)\r\n }\r\n })\r\n },\r\n handleCopyText: function () {\r\n var d = document.getElementById(\"secretTextInput\")\r\n d.select() //选中\r\n document.execCommand(\"copy\")\r\n this.$message.success(\"复制成功\")\r\n },\r\n handleAuthorize: function (index, row) {\r\n this.showAuthDialog = true\r\n this.$http.get(\"/sqlrest/manager/api/v1/client/auth/\" + row.id)\r\n .then((res) => {\r\n this.selectList = []\r\n this.clientId = row.id\r\n for (let item of res.data) {\r\n this.selectList.push(item.id)\r\n }\r\n })\r\n },\r\n handleSaveAuth: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/client/auth/create\",\r\n data: JSON.stringify({\r\n id: this.clientId,\r\n groupIds: this.selectList\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.showAuthDialog = false\r\n } else {\r\n alert(\"操作失败:\" + res.data.message);\r\n }\r\n });\r\n }\r\n },\r\n created () {\r\n this.loadData();\r\n this.loadAllGroups();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n.client-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n width: 80%;\r\n margin-right: auto;\r\n margin: 10px 5px;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-left: auto;\r\n margin: 10px 5px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/setting/client.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"client-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-select',{staticStyle:{\"width\":\"200px\"},attrs:{\"size\":\"mini\",\"clearable\":true,\"placeholder\":\"选择授权分组\"},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.groupId),callback:function ($$v) {_vm.groupId=$$v},expression:\"groupId\"}},_vm._l((_vm.groups),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.name,\"value\":item.id}})}),1),_vm._v(\" \"),_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"placeholder\":\"请输入名称关键字搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"right-add-button-group\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.addClient}},[_vm._v(\"添加\")])],1)]),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"5%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"应用名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"description\",\"label\":\"描述\",\"show-overflow-tooltip\":\"\",\"min-width\":\"10%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"appKey\",\"label\":\"应用账号\",\"show-overflow-tooltip\":\"\",\"min-width\":\"12%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"expireDuration\",\"label\":\"过期时间\",\"formatter\":_vm.stringFormatExpireDuration,\"show-overflow-tooltip\":\"\",\"min-width\":\"18%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"isExpired\",\"label\":\"是否过期\",\"show-overflow-tooltip\":\"\",\"min-width\":\"10%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.isExpired)?_c('el-tag',{attrs:{\"type\":\"danger\",\"effect\":\"dark\",\"size\":\"mini\"}},[_vm._v(\"已过期\\n \")]):_vm._e(),_vm._v(\" \"),(!scope.row.isExpired)?_c('el-tag',{attrs:{\"type\":\"primary\",\"effect\":\"dark\",\"size\":\"mini\"}},[_vm._v(\"未过期\\n \")]):_vm._e()]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"tokenAlive\",\"label\":\"Token生命期\",\"formatter\":_vm.stringFormatTokenAlive,\"show-overflow-tooltip\":\"\",\"min-width\":\"18%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"18%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleAuthorize(scope.$index, scope.row)}}},[_vm._v(\"授权\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleShowSecret(scope.$index, scope.row)}}},[_vm._v(\"密钥\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")])],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.pageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"添加应用信息\",\"visible\":_vm.createFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.createFormVisible=$event}}},[_c('el-form',{ref:\"createform\",attrs:{\"model\":_vm.createform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"应用名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.name),callback:function ($$v) {_vm.$set(_vm.createform, \"name\", $$v)},expression:\"createform.name\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"描述\",\"label-width\":\"120px\",\"prop\":\"description\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":6,\"spellcheck\":false,\"placeholder\":\"请输入\",\"auto-complete\":\"off\"},model:{value:(_vm.createform.description),callback:function ($$v) {_vm.$set(_vm.createform, \"description\", $$v)},expression:\"createform.description\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"应用账号\",\"label-width\":\"120px\",\"prop\":\"appKey\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.appKey),callback:function ($$v) {_vm.$set(_vm.createform, \"appKey\", $$v)},expression:\"createform.appKey\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"应用到期时长\",\"label-width\":\"120px\",\"prop\":\"expireTime\"}},[_c('el-select',{model:{value:(_vm.createform.expireTime),callback:function ($$v) {_vm.$set(_vm.createform, \"expireTime\", $$v)},expression:\"createform.expireTime\"}},[_c('el-option',{attrs:{\"label\":\"无期\",\"value\":\"EXPIRE_FOR_EVER\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"一次\",\"value\":\"EXPIRE_ONLY_ONCE\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"5分钟\",\"value\":\"EXPIRE_05_MIN\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"30分钟\",\"value\":\"EXPIRE_30_MIN\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"1小时\",\"value\":\"EXPIRE_01_HOUR\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"12小时\",\"value\":\"EXPIRE_12_HOUR\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"1天\",\"value\":\"EXPIRE_01_DAY\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"15天\",\"value\":\"EXPIRE_15_DAY\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"1个月\",\"value\":\"EXPIRE_01_MOUTH\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"35%\"},attrs:{\"label-width\":\"120px\",\"prop\":\"tokenAlive\"}},[_c('span',{staticStyle:{\"display\":\"inline-block\"},attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"\\n Token生命\\n \"),_c('el-tooltip',{attrs:{\"effect\":\"dark\",\"content\":\"‘短期’的token时长为7200秒,到期续约再调用认证接口获取;‘长期’的token永不会过期,但应用过期时也即随之过期,应用被删除时也即随之消亡.\",\"placement\":\"bottom\"}},[_c('i',{staticClass:\"el-icon-question\"})])],1),_vm._v(\" \"),_c('el-select',{model:{value:(_vm.createform.tokenAlive),callback:function ($$v) {_vm.$set(_vm.createform, \"tokenAlive\", $$v)},expression:\"createform.tokenAlive\"}},[_c('el-option',{attrs:{\"label\":\"短期\",\"value\":\"PERIOD\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"长期\",\"value\":\"LONGEVITY\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.createFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"查看密钥\",\"visible\":_vm.ShowSecretDialog},on:{\"update:visible\":function($event){_vm.ShowSecretDialog=$event}}},[_c('el-input',{staticStyle:{\"width\":\"55%\"},attrs:{\"type\":\"input\",\"id\":\"secretTextInput\"},model:{value:(_vm.clientSecret),callback:function ($$v) {_vm.clientSecret=$$v},expression:\"clientSecret\"}}),_vm._v(\" \"),_c('el-button',{on:{\"click\":_vm.handleCopyText}},[_vm._v(\"点击复制\")]),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.ShowSecretDialog = false}}},[_vm._v(\"取消\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"授权分组\",\"visible\":_vm.showAuthDialog},on:{\"update:visible\":function($event){_vm.showAuthDialog=$event},\"open\":_vm.loadAllGroups}},[_c('el-checkbox-group',{model:{value:(_vm.selectList),callback:function ($$v) {_vm.selectList=$$v},expression:\"selectList\"}},_vm._l((_vm.groups),function(item){return _c('el-checkbox',{key:item.id,attrs:{\"label\":item.id}},[_vm._v(_vm._s(item.name))])}),1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.showAuthDialog = false}}},[_vm._v(\"取消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.handleSaveAuth()}}},[_vm._v(\"保存\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-18b8e146\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/setting/client.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-18b8e146\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./client.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./client.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./client.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-18b8e146\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./client.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-18b8e146\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/setting/client.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([21],{"T+/8":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});r("mw3O");var a={data:function(){return{logining:!1,ruleForm2:{username:"",password:""},rules2:{username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},checked:!1}},created:function(){var e=this;document.onkeydown=function(t){13==window.event.keyCode&&e.handleSubmit(t)}},methods:{handleSubmit:function(){var e=this;this.$refs.ruleForm2.validate(function(t){t&&e.$http({method:"POST",url:"/user/login",data:{username:e.ruleForm2.username,password:e.ruleForm2.password}}).then(function(t){0===t.data.code?(e.logining=!0,window.sessionStorage.setItem("token",t.data.data.accessToken),window.sessionStorage.setItem("username",e.ruleForm2.username),window.sessionStorage.setItem("realname",t.data.data.realName),e.$router.push({path:"/dashboard"})):(e.logining=!1,e.$message(t.data.message))})})}}},s={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"login-container"},[r("el-form",{ref:"ruleForm2",staticClass:"demo-ruleForm login-page",attrs:{model:e.ruleForm2,rules:e.rules2,"status-icon":"","label-position":"left","label-width":"0px"}},[r("h3",{staticClass:"title",attrs:{align:"center"}},[e._v("系统登录")]),e._v(" "),r("el-form-item",{attrs:{prop:"username"}},[r("el-input",{attrs:{type:"text","auto-complete":"off",placeholder:"用户名"},model:{value:e.ruleForm2.username,callback:function(t){e.$set(e.ruleForm2,"username",t)},expression:"ruleForm2.username"}})],1),e._v(" "),r("el-form-item",{attrs:{prop:"password"}},[r("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"密码"},model:{value:e.ruleForm2.password,callback:function(t){e.$set(e.ruleForm2,"password",t)},expression:"ruleForm2.password"}})],1),e._v(" "),r("el-form-item",{staticStyle:{width:"100%"}},[r("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.logining},on:{click:e.handleSubmit,keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleSubmit(t)}}},[e._v("登录")])],1)],1)],1)},staticRenderFns:[]};var o=r("VU/8")(a,s,!1,function(e){r("VdEY")},"data-v-1b5aac28",null);t.default=o.exports},VdEY:function(e,t){}});
//# sourceMappingURL=21.5952cc009e9eb6c25dfc.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/login/index.vue","webpack:///./src/views/login/index.vue?4189","webpack:///./src/views/login/index.vue"],"names":["login","data","logining","ruleForm2","username","password","rules2","required","message","trigger","checked","created","lett","this","document","onkeydown","e","window","event","keyCode","handleSubmit","methods","_this","$refs","validate","valid","$http","method","url","then","res","code","sessionStorage","setItem","accessToken","realName","$router","push","path","$message","views_login","render","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","model","rules","status-icon","label-position","label-width","align","_v","prop","type","auto-complete","placeholder","value","callback","$$v","$set","expression","staticStyle","width","loading","on","click","keyup","$event","indexOf","_k","key","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"sHAqCAA,GACAC,KADA,WAEA,OACAC,UAAA,EACAC,WACAC,SAAA,GACAC,SAAA,IAEAC,QACAF,WAEAG,UAAA,EACAC,QAAA,SACAC,QAAA,SAGAJ,WAEAE,UAAA,EACAC,QAAA,QACAC,QAAA,UAIAC,SAAA,IAGAC,QA3BA,WA6BA,IAAAC,EAAAC,KACAC,SAAAC,UAAA,SAAAC,GAEA,IADAC,OAAAC,MAAAC,SAEAP,EAAAQ,aAAAJ,KAIAK,SACAD,aADA,WACA,IAAAE,EAAAT,KACAA,KAAAU,MAAApB,UAAAqB,SAAA,SAAAC,GACAA,GACAH,EAAAI,OACAC,OAAA,OACAC,IAAA,cACA3B,MACAG,SAAAkB,EAAAnB,UAAAC,SACAC,SAAAiB,EAAAnB,UAAAE,YAEAwB,KAAA,SAAAC,GACA,IAAAA,EAAA7B,KAAA8B,MACAT,EAAApB,UAAA,EACAe,OAAAe,eAAAC,QAAA,QAAAH,EAAA7B,UAAAiC,aACAjB,OAAAe,eAAAC,QAAA,WAAAX,EAAAnB,UAAAC,UACAa,OAAAe,eAAAC,QAAA,WAAAH,EAAA7B,UAAAkC,UACAb,EAAAc,QAAAC,MACAC,KAAA,iBAGAhB,EAAApB,UAAA,EACAoB,EAAAiB,SAAAT,EAAA7B,KAAAO,iBC7FegC,GADEC,OAFjB,WAA0B,IAAAC,EAAA7B,KAAa8B,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,oBAA8BF,EAAA,WAAgBG,IAAA,YAAAD,YAAA,2BAAAE,OAA8DC,MAAAR,EAAAvC,UAAAgD,MAAAT,EAAApC,OAAA8C,cAAA,GAAAC,iBAAA,OAAAC,cAAA,SAAuGT,EAAA,MAAWE,YAAA,QAAAE,OAA2BM,MAAA,YAAkBb,EAAAc,GAAA,UAAAd,EAAAc,GAAA,KAAAX,EAAA,gBAAkDI,OAAOQ,KAAA,cAAmBZ,EAAA,YAAiBI,OAAOS,KAAA,OAAAC,gBAAA,MAAAC,YAAA,OAAwDV,OAAQW,MAAAnB,EAAAvC,UAAA,SAAA2D,SAAA,SAAAC,GAAwDrB,EAAAsB,KAAAtB,EAAAvC,UAAA,WAAA4D,IAAyCE,WAAA,yBAAkC,GAAAvB,EAAAc,GAAA,KAAAX,EAAA,gBAAqCI,OAAOQ,KAAA,cAAmBZ,EAAA,YAAiBI,OAAOS,KAAA,WAAAC,gBAAA,MAAAC,YAAA,MAA2DV,OAAQW,MAAAnB,EAAAvC,UAAA,SAAA2D,SAAA,SAAAC,GAAwDrB,EAAAsB,KAAAtB,EAAAvC,UAAA,WAAA4D,IAAyCE,WAAA,yBAAkC,GAAAvB,EAAAc,GAAA,KAAAX,EAAA,gBAAqCqB,aAAaC,MAAA,UAAgBtB,EAAA,aAAkBqB,aAAaC,MAAA,QAAelB,OAAQS,KAAA,UAAAU,QAAA1B,EAAAxC,UAAwCmE,IAAKC,MAAA5B,EAAAtB,aAAAmD,MAAA,SAAAC,GAAkD,OAAAA,EAAAd,KAAAe,QAAA,QAAA/B,EAAAgC,GAAAF,EAAArD,QAAA,WAAAqD,EAAAG,IAAA,SAAsF,KAAejC,EAAAtB,aAAAoD,OAAkC9B,EAAAc,GAAA,qBAEtwCoB,oBCCjB,IAcAC,EAdyBC,EAAQ,OAcjCC,CACE/E,EACAwC,GATF,EAVA,SAAAwC,GACEF,EAAQ,SAaV,kBAEA,MAUeG,EAAA,QAAAJ,EAAiB","file":"static/js/21.5952cc009e9eb6c25dfc.js","sourcesContent":["<template>\r\n <div class=\"login-container\">\r\n <el-form :model=\"ruleForm2\"\r\n :rules=\"rules2\"\r\n status-icon\r\n ref=\"ruleForm2\"\r\n label-position=\"left\"\r\n label-width=\"0px\"\r\n class=\"demo-ruleForm login-page\">\r\n <h3 class=\"title\"\r\n align=\"center\">系统登录</h3>\r\n <el-form-item prop=\"username\">\r\n <el-input type=\"text\"\r\n v-model=\"ruleForm2.username\"\r\n auto-complete=\"off\"\r\n placeholder=\"用户名\"></el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <el-input type=\"password\"\r\n v-model=\"ruleForm2.password\"\r\n auto-complete=\"off\"\r\n placeholder=\"密码\"></el-input>\r\n </el-form-item>\r\n <el-form-item style=\"width:100%;\">\r\n <el-button type=\"primary\"\r\n style=\"width:100%;\"\r\n @click=\"handleSubmit\"\r\n :loading=\"logining\"\r\n @keyup.enter=\"handleSubmit\">登录</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport qs from \"qs\";\r\n\r\nexport default {\r\n data () {\r\n return {\r\n logining: false,\r\n ruleForm2: {\r\n username: \"\",\r\n password: \"\"\r\n },\r\n rules2: {\r\n username: [\r\n {\r\n required: true,\r\n message: \"请输入用户名\",\r\n trigger: \"blur\"\r\n }\r\n ],\r\n password: [\r\n {\r\n required: true,\r\n message: \"请输入密码\",\r\n trigger: \"blur\"\r\n }\r\n ]\r\n },\r\n checked: false\r\n };\r\n },\r\n created () {\r\n //按enter键提交功能参考:https://www.cnblogs.com/cristina-guan/p/9440035.html\r\n var lett = this;\r\n document.onkeydown = function (e) {\r\n var key = window.event.keyCode;\r\n if (key == 13) {\r\n lett.handleSubmit(e);\r\n }\r\n };\r\n },\r\n methods: {\r\n handleSubmit () {\r\n this.$refs.ruleForm2.validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: 'POST',\r\n url: '/user/login',\r\n data: {\r\n username: this.ruleForm2.username,\r\n password: this.ruleForm2.password\r\n },\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.logining = true;\r\n window.sessionStorage.setItem('token', res.data.data.accessToken);\r\n window.sessionStorage.setItem('username', this.ruleForm2.username);\r\n window.sessionStorage.setItem('realname', res.data.data.realName);\r\n this.$router.push({\r\n path: '/dashboard'\r\n });\r\n } else {\r\n this.logining = false;\r\n this.$message(res.data.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.login-container {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.login-page {\r\n -webkit-border-radius: 5px;\r\n border-radius: 5px;\r\n margin: 180px auto;\r\n width: 350px;\r\n padding: 35px 35px 15px;\r\n background: #fff;\r\n border: 1px solid #eaeaea;\r\n box-shadow: 0 0 25px #cac6c6;\r\n}\r\n\r\nlabel.el-checkbox.rememberme {\r\n margin: 0px 0px 15px;\r\n text-align: left;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/login/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-container\"},[_c('el-form',{ref:\"ruleForm2\",staticClass:\"demo-ruleForm login-page\",attrs:{\"model\":_vm.ruleForm2,\"rules\":_vm.rules2,\"status-icon\":\"\",\"label-position\":\"left\",\"label-width\":\"0px\"}},[_c('h3',{staticClass:\"title\",attrs:{\"align\":\"center\"}},[_vm._v(\"系统登录\")]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"prop\":\"username\"}},[_c('el-input',{attrs:{\"type\":\"text\",\"auto-complete\":\"off\",\"placeholder\":\"用户名\"},model:{value:(_vm.ruleForm2.username),callback:function ($$v) {_vm.$set(_vm.ruleForm2, \"username\", $$v)},expression:\"ruleForm2.username\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"auto-complete\":\"off\",\"placeholder\":\"密码\"},model:{value:(_vm.ruleForm2.password),callback:function ($$v) {_vm.$set(_vm.ruleForm2, \"password\", $$v)},expression:\"ruleForm2.password\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticStyle:{\"width\":\"100%\"}},[_c('el-button',{staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"primary\",\"loading\":_vm.logining},on:{\"click\":_vm.handleSubmit,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.handleSubmit($event)}}},[_vm._v(\"登录\")])],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1b5aac28\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/login/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1b5aac28\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1b5aac28\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1b5aac28\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/login/index.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([25],{cGhg:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a("BO1k"),i=a.n(r),n=a("mvHQ"),o=a.n(n),l=a("mw3O"),s=a.n(l),d=a("7+uW"),c={name:"group",components:{},data:function(){return{loading:!0,lists:[],tableData:[],currentPageNum:1,currentPageSize:10,totalItemCount:0,searchText:"",createform:{title:""},updateform:{id:0,title:""},rules:{name:[{required:!0,message:"名称不能为空",trigger:"blur"}]},createFormVisible:!1,updateFormVisible:!1,relationFormVisible:!1,moduleAssignments:[],initCheckedKeys:[],currentGroupId:0,defaultProps:{children:"children",label:"name"}}},methods:{uuid:function(){for(var e=[],t=0;t<36;t++)e[t]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);e[14]="4",e[19]="0123456789abcdef".substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-";var a=e.join("");return a},loadData:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/group/listAll",data:o()({page:this.currentPageNum,size:this.currentPageSize,searchText:this.searchText})}).then(function(t){0===t.data.code?(e.totalItemCount=t.data.pagination.total,e.tableData=t.data.data):alert("加载数据失败:"+t.data.message)})},handleClose:function(e){},handleDelete:function(e,t){var a=this;this.$confirm("此操作将此分组ID="+t.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/group/delete/"+t.id).then(function(e){0===e.data.code?a.loadData():alert("删除失败:"+e.data.message)})})},addGroup:function(){this.createFormVisible=!0,this.createform={}},handleCreate:function(){var e=this;this.$refs.createform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/group/create",data:s.a.stringify({name:e.createform.name})}).then(function(t){0===t.data.code?(e.createFormVisible=!1,e.$message("添加成功"),e.createform={},e.loadData()):alert("添加失败:"+t.data.message)}):alert("请检查输入")})},handleRelation:function(e,t){var a=this;this.moduleAssignments=[],this.$http.get("/sqlrest/manager/api/v1/module/moduleTree/"+t.id).then(function(e){if(0===e.data.code){a.initCheckedKeys=[],a.currentGroupId=t.id,a.moduleAssignments=e.data.data;var r=!0,n=!1,o=void 0;try{for(var l,s=i()(a.moduleAssignments);!(r=(l=s.next()).done);r=!0){var c=l.value;if(d.default.set(c,"id",a.uuid()),c.children){var u=!0,m=!1,h=void 0;try{for(var p,f=i()(c.children);!(u=(p=f.next()).done);u=!0){var v=p.value;v.selected&&a.initCheckedKeys.push(v.id)}}catch(e){m=!0,h=e}finally{try{!u&&f.return&&f.return()}finally{if(m)throw h}}}}}catch(e){n=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(n)throw o}}}}),this.relationFormVisible=!0},handleRelationSave:function(){var e=this,t=this.$refs.relationTree.getCheckedKeys(!0);this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/assignment/group/"+this.currentGroupId,data:t}).then(function(t){0===t.data.code?(e.relationFormVisible=!1,e.$message("修改关联信息成功.")):alert("修改失败:"+t.data.message)})},handleUpdate:function(e,t){this.updateform=JSON.parse(o()(t)),this.updateFormVisible=!0},handleSave:function(){var e=this;this.$refs.updateform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/group/update/"+e.updateform.id,data:s.a.stringify({name:e.updateform.name})}).then(function(t){0===t.data.code?(e.updateFormVisible=!1,e.$message("修改成功"),e.loadData(),e.updateform={}):alert("修改失败:"+t.data.message)}):alert("请检查输入")})},handleSizeChange:function(e){this.currentPageSize=e,this.loadData()},handleCurrentChange:function(e){this.currentPageNum=e,this.loadData()},searchByKeyword:function(){this.currentPage=1,this.loadData()}},mounted:function(){this.loadData()}},u={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-card",[a("div",{staticClass:"group-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"请输入名称关键字搜索",size:"mini",clearable:!0},on:{change:e.searchByKeyword},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}})],1)]),e._v(" "),a("div",{staticClass:"right-add-button-group"},[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:e.addGroup}},[e._v("添加")])],1)]),e._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:e.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"5%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"分组名称","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"updateTime",label:"更新时间","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"35%"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button-group",[a("el-button",{attrs:{size:"small",type:"danger",icon:"el-icon-document",round:""},on:{click:function(a){return e.handleRelation(t.$index,t.row)}}},[e._v("关联")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-edit",round:""},on:{click:function(a){return e.handleUpdate(t.$index,t.row)}}},[e._v("编辑")]),e._v(" "),1!==t.row.id?a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-delete",round:""},on:{click:function(a){return e.handleDelete(t.$index,t.row)}}},[e._v("删除")]):e._e()],1)]}}])})],1),e._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":e.currentPageNum,"page-sizes":[5,10,20,40],"page-size":e.currentPageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalItemCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("el-dialog",{attrs:{title:"添加信息",visible:e.createFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.createFormVisible=t}}},[a("el-form",{ref:"createform",attrs:{model:e.createform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"分组名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.name,callback:function(t){e.$set(e.createform,"name",t)},expression:"createform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.createFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleCreate}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"修改信息",visible:e.updateFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.updateFormVisible=t}}},[a("el-form",{ref:"updateform",attrs:{model:e.updateform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"分组名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.updateform.name,callback:function(t){e.$set(e.updateform,"name",t)},expression:"updateform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.updateFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleSave}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"修改关联信息",visible:e.relationFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.relationFormVisible=t}}},[a("el-alert",{attrs:{title:"取消勾选后执行修改操作时,被取消勾选项将被修改关联到id=1的“默认分组”中.",type:"warning","show-icon":""}}),e._v(" "),a("el-tree",{ref:"relationTree",attrs:{data:e.moduleAssignments,"show-checkbox":!0,"node-key":"id","default-checked-keys":e.initCheckedKeys,"highlight-current":"",props:e.defaultProps}}),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.relationFormVisible=!1}}},[e._v("关 闭")]),e._v(" "),1!==e.currentGroupId?a("el-button",{attrs:{type:"danger"},on:{click:e.handleRelationSave}},[e._v("修 改")]):e._e()],1)],1)],1)],1)},staticRenderFns:[]};var m=a("VU/8")(c,u,!1,function(e){a("mg82")},"data-v-11582402",null);t.default=m.exports},mg82:function(e,t){}});
//# sourceMappingURL=25.b0986b0eaecd37184d01.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/setting/group.vue","webpack:///./src/views/setting/group.vue?d0f7","webpack:///./src/views/setting/group.vue"],"names":["group","name","components","data","loading","lists","tableData","currentPageNum","currentPageSize","totalItemCount","searchText","createform","title","updateform","id","rules","required","message","trigger","createFormVisible","updateFormVisible","relationFormVisible","moduleAssignments","initCheckedKeys","currentGroupId","defaultProps","children","label","methods","uuid","s","i","substr","Math","floor","random","join","loadData","_this","this","$http","method","headers","Content-Type","url","stringify_default","page","size","then","res","code","pagination","total","alert","handleClose","done","handleDelete","index","row","_this2","$confirm","confirmButtonText","cancelButtonText","type","delete","addGroup","handleCreate","_this3","$refs","validate","valid","lib_default","a","stringify","$message","handleRelation","_this4","get","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","get_iterator_default","next","item","value","vue_esm","set","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","one","selected","push","err","return","handleRelationSave","_this5","checkedKeys","relationTree","getCheckedKeys","handleUpdate","JSON","parse","handleSave","_this6","handleSizeChange","pageSize","handleCurrentChange","currentPage","searchByKeyword","mounted","setting_group","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","placeholder","clearable","on","change","model","callback","$$v","expression","_v","icon","click","header-cell-style","background","color","border","prop","min-width","show-overflow-tooltip","scopedSlots","_u","key","fn","scope","round","$event","$index","_e","align","current-page","page-sizes","page-size","layout","size-change","current-change","visible","showClose","before-close","update:visible","ref","status-icon","label-width","auto-complete","$set","slot","show-icon","show-checkbox","node-key","default-checked-keys","highlight-current","props","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/25.b0986b0eaecd37184d01.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"group-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-input placeholder=\"请输入名称关键字搜索\"\r\n size=\"mini\"\r\n v-model=\"searchText\"\r\n @change=\"searchByKeyword\"\r\n :clearable=true\r\n style=\"width:300px\">\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"right-add-button-group\">\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"addGroup\">添加</el-button>\r\n </div>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"5%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"分组名称\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"updateTime\"\r\n label=\"更新时间\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"35%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"danger\"\r\n icon=\"el-icon-document\"\r\n @click=\"handleRelation(scope.$index, scope.row)\"\r\n round>关联</el-button>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleUpdate(scope.$index, scope.row)\"\r\n round>编辑</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n v-if=\"scope.row.id!==1\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPageNum\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"currentPageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalItemCount\"></el-pagination>\r\n </div>\r\n\r\n <el-dialog title=\"添加信息\"\r\n :visible.sync=\"createFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"createform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"createform\">\r\n <el-form-item label=\"分组名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"createFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleCreate\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"修改信息\"\r\n :visible.sync=\"updateFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"updateform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"updateform\">\r\n <el-form-item label=\"分组名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"updateform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"updateFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleSave\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"修改关联信息\"\r\n :visible.sync=\"relationFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-alert title=\"取消勾选后执行修改操作时,被取消勾选项将被修改关联到id=1的“默认分组”中.\"\r\n type=\"warning\"\r\n show-icon>\r\n </el-alert>\r\n <el-tree :data=\"moduleAssignments\"\r\n :show-checkbox=\"true\"\r\n ref=\"relationTree\"\r\n node-key=\"id\"\r\n :default-checked-keys=\"initCheckedKeys\"\r\n highlight-current\r\n :props=\"defaultProps\">\r\n </el-tree>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button type=\"primary\"\r\n @click=\"relationFormVisible = false\">关 闭</el-button>\r\n <el-button type=\"danger\"\r\n v-if=\"currentGroupId!==1\"\r\n @click=\"handleRelationSave\">修 改</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport qs from \"qs\";\r\nimport Vue from \"vue\";\r\n\r\nexport default {\r\n name: \"group\",\r\n components: {\r\n },\r\n data () {\r\n return {\r\n loading: true,\r\n lists: [],\r\n tableData: [\r\n ],\r\n currentPageNum: 1,\r\n currentPageSize: 10,\r\n totalItemCount: 0,\r\n searchText: '',\r\n createform: {\r\n title: \"\",\r\n },\r\n updateform: {\r\n id: 0,\r\n title: \"\",\r\n },\r\n rules: {\r\n name: [\r\n {\r\n required: true,\r\n message: \"名称不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ]\r\n },\r\n createFormVisible: false,\r\n updateFormVisible: false,\r\n relationFormVisible: false,\r\n moduleAssignments: [],\r\n initCheckedKeys: [],\r\n currentGroupId: 0,\r\n defaultProps: {\r\n children: 'children',\r\n label: 'name'\r\n }\r\n }\r\n },\r\n methods: {\r\n uuid: function () {\r\n var s = [];\r\n var hexDigits = \"0123456789abcdef\";\r\n for (var i = 0; i < 36; i++) {\r\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);\r\n }\r\n s[14] = \"4\"; // bits 12-15 of the time_hi_and_version field to 0010\r\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01\r\n s[8] = s[13] = s[18] = s[23] = \"-\";\r\n\r\n var uuid = s.join(\"\");\r\n return uuid;\r\n },\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/listAll\",\r\n data: JSON.stringify({\r\n page: this.currentPageNum,\r\n size: this.currentPageSize,\r\n searchText: this.searchText\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.totalItemCount = res.data.pagination.total\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n handleClose (done) {\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此分组ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/group/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n });\r\n });\r\n },\r\n addGroup: function () {\r\n this.createFormVisible = true;\r\n this.createform = {};\r\n },\r\n handleCreate: function () {\r\n this.$refs['createform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/create\",\r\n data: qs.stringify({\r\n name: this.createform.name\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.createFormVisible = false;\r\n this.$message(\"添加成功\");\r\n this.createform = {};\r\n this.loadData();\r\n } else {\r\n alert(\"添加失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleRelation: function (index, row) {\r\n this.moduleAssignments = [];\r\n this.$http.get(\r\n \"/sqlrest/manager/api/v1/module/moduleTree/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.initCheckedKeys = [];\r\n this.currentGroupId = row.id;\r\n this.moduleAssignments = res.data.data;\r\n for (let item of this.moduleAssignments) {\r\n Vue.set(item, 'id', this.uuid());\r\n if (item.children) {\r\n for (let one of item.children) {\r\n //Vue.set(one, 'disabled', true);\r\n if (one.selected) {\r\n this.initCheckedKeys.push(one.id);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n this.relationFormVisible = true;\r\n },\r\n handleRelationSave: function () {\r\n let checkedKeys = this.$refs.relationTree.getCheckedKeys(true);\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/assignment/group/\" + this.currentGroupId,\r\n data: checkedKeys\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.relationFormVisible = false;\r\n this.$message(\"修改关联信息成功.\");\r\n } else {\r\n alert(\"修改失败:\" + res.data.message);\r\n }\r\n });\r\n },\r\n handleUpdate: function (index, row) {\r\n this.updateform = JSON.parse(JSON.stringify(row));\r\n this.updateFormVisible = true;\r\n },\r\n handleSave: function () {\r\n this.$refs['updateform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/update/\" + this.updateform.id,\r\n data: qs.stringify({\r\n name: this.updateform.name,\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.updateFormVisible = false;\r\n this.$message(\"修改成功\");\r\n this.loadData();\r\n this.updateform = {};\r\n } else {\r\n alert(\"修改失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.currentPageSize = pageSize;\r\n this.loadData();\r\n },\r\n handleCurrentChange: function (currentPage) {\r\n this.currentPageNum = currentPage;\r\n this.loadData();\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n },\r\n mounted () {\r\n this.loadData();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n.group-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n width: 300px;\r\n margin-right: auto;\r\n margin: 10px 5px;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-right: 5px;\r\n margin: 10px 5px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/setting/group.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"group-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"placeholder\":\"请输入名称关键字搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"right-add-button-group\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.addGroup}},[_vm._v(\"添加\")])],1)]),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"5%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"分组名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"updateTime\",\"label\":\"更新时间\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-document\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleRelation(scope.$index, scope.row)}}},[_vm._v(\"关联\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-edit\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleUpdate(scope.$index, scope.row)}}},[_vm._v(\"编辑\")]),_vm._v(\" \"),(scope.row.id!==1)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")]):_vm._e()],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPageNum,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.currentPageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalItemCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"添加信息\",\"visible\":_vm.createFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.createFormVisible=$event}}},[_c('el-form',{ref:\"createform\",attrs:{\"model\":_vm.createform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"分组名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.name),callback:function ($$v) {_vm.$set(_vm.createform, \"name\", $$v)},expression:\"createform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.createFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"修改信息\",\"visible\":_vm.updateFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.updateFormVisible=$event}}},[_c('el-form',{ref:\"updateform\",attrs:{\"model\":_vm.updateform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"分组名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.updateform.name),callback:function ($$v) {_vm.$set(_vm.updateform, \"name\", $$v)},expression:\"updateform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.updateFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"修改关联信息\",\"visible\":_vm.relationFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.relationFormVisible=$event}}},[_c('el-alert',{attrs:{\"title\":\"取消勾选后执行修改操作时,被取消勾选项将被修改关联到id=1的“默认分组”中.\",\"type\":\"warning\",\"show-icon\":\"\"}}),_vm._v(\" \"),_c('el-tree',{ref:\"relationTree\",attrs:{\"data\":_vm.moduleAssignments,\"show-checkbox\":true,\"node-key\":\"id\",\"default-checked-keys\":_vm.initCheckedKeys,\"highlight-current\":\"\",\"props\":_vm.defaultProps}}),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.relationFormVisible = false}}},[_vm._v(\"关 闭\")]),_vm._v(\" \"),(_vm.currentGroupId!==1)?_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.handleRelationSave}},[_vm._v(\"修 改\")]):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-11582402\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/setting/group.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-11582402\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./group.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./group.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./group.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-11582402\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./group.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-11582402\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/setting/group.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([25],{HvOu:function(e,t){},cGhg:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a("mvHQ"),o=a.n(r),i=a("mw3O"),n=a.n(i),l={name:"group",components:{},data:function(){return{loading:!0,lists:[],tableData:[],currentPageNum:1,currentPageSize:10,totalItemCount:0,searchText:"",createform:{title:""},updateform:{id:0,title:""},rules:{name:[{required:!0,message:"名称不能为空",trigger:"blur"}]},createFormVisible:!1,updateFormVisible:!1}},methods:{loadData:function(){var e=this;this.$http({method:"POST",headers:{"Content-Type":"application/json"},url:"/sqlrest/manager/api/v1/group/listAll",data:o()({page:this.currentPageNum,size:this.currentPageSize,searchText:this.searchText})}).then(function(t){0===t.data.code?(e.totalItemCount=t.data.pagination.total,e.tableData=t.data.data):alert("加载数据失败:"+t.data.message)})},handleClose:function(e){},handleDelete:function(e,t){var a=this;this.$confirm("此操作将此分组ID="+t.id+"删除么, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){a.$http.delete("/sqlrest/manager/api/v1/group/delete/"+t.id).then(function(e){0===e.data.code?a.loadData():alert("删除失败:"+e.data.message)})})},addGroup:function(){this.createFormVisible=!0,this.createform={}},handleCreate:function(){var e=this;this.$refs.createform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/group/create",data:n.a.stringify({name:e.createform.name})}).then(function(t){0===t.data.code?(e.createFormVisible=!1,e.$message("添加成功"),e.createform={},e.loadData()):alert("添加失败:"+t.data.message)}):alert("请检查输入")})},handleUpdate:function(e,t){this.updateform=JSON.parse(o()(t)),this.updateFormVisible=!0},handleSave:function(){var e=this;this.$refs.updateform.validate(function(t){t?e.$http({method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},url:"/sqlrest/manager/api/v1/group/update/"+e.updateform.id,data:n.a.stringify({name:e.updateform.name})}).then(function(t){0===t.data.code?(e.updateFormVisible=!1,e.$message("修改成功"),e.loadData(),e.updateform={}):alert("修改失败:"+t.data.message)}):alert("请检查输入")})},handleSizeChange:function(e){this.currentPageSize=e,this.loadData()},handleCurrentChange:function(e){this.currentPageNum=e,this.loadData()},searchByKeyword:function(){this.currentPage=1,this.loadData()}},mounted:function(){this.loadData()}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-card",[a("div",{staticClass:"group-list-top"},[a("div",{staticClass:"left-search-input-group"},[a("div",{staticClass:"left-search-input"},[a("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"请输入名称关键字搜索",size:"mini",clearable:!0},on:{change:e.searchByKeyword},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}})],1)]),e._v(" "),a("div",{staticClass:"right-add-button-group"},[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-document-add"},on:{click:e.addGroup}},[e._v("添加")])],1)]),e._v(" "),a("el-table",{attrs:{"header-cell-style":{background:"#eef1f6",color:"#606266"},data:e.tableData,size:"small",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"编号","min-width":"5%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"分组名称","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{prop:"updateTime",label:"更新时间","show-overflow-tooltip":"","min-width":"20%"}}),e._v(" "),a("el-table-column",{attrs:{label:"操作","min-width":"35%"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button-group",[a("el-button",{attrs:{size:"small",type:"warning",icon:"el-icon-edit",round:""},on:{click:function(a){return e.handleUpdate(t.$index,t.row)}}},[e._v("编辑")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"success",icon:"el-icon-delete",round:""},on:{click:function(a){return e.handleDelete(t.$index,t.row)}}},[e._v("删除")])],1)]}}])})],1),e._v(" "),a("div",{staticClass:"page",attrs:{align:"right"}},[a("el-pagination",{attrs:{"current-page":e.currentPageNum,"page-sizes":[5,10,20,40],"page-size":e.currentPageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalItemCount},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("el-dialog",{attrs:{title:"添加信息",visible:e.createFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.createFormVisible=t}}},[a("el-form",{ref:"createform",attrs:{model:e.createform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"分组名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.createform.name,callback:function(t){e.$set(e.createform,"name",t)},expression:"createform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.createFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleCreate}},[e._v("确 定")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:"修改信息",visible:e.updateFormVisible,showClose:!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.updateFormVisible=t}}},[a("el-form",{ref:"updateform",attrs:{model:e.updateform,size:"mini","status-icon":"",rules:e.rules}},[a("el-form-item",{staticStyle:{width:"85%"},attrs:{label:"分组名称","label-width":"120px",required:!0,prop:"name"}},[a("el-input",{attrs:{"auto-complete":"off"},model:{value:e.updateform.name,callback:function(t){e.$set(e.updateform,"name",t)},expression:"updateform.name"}})],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.updateFormVisible=!1}}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.handleSave}},[e._v("确 定")])],1)],1)],1)],1)},staticRenderFns:[]};var c=a("VU/8")(l,s,!1,function(e){a("HvOu")},"data-v-062d93ce",null);t.default=c.exports}});
//# sourceMappingURL=25.e85f7ab22c459c102670.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///src/views/setting/group.vue","webpack:///./src/views/setting/group.vue?0d22","webpack:///./src/views/setting/group.vue"],"names":["group","name","components","data","loading","lists","tableData","currentPageNum","currentPageSize","totalItemCount","searchText","createform","title","updateform","id","rules","required","message","trigger","createFormVisible","updateFormVisible","methods","loadData","_this","this","$http","method","headers","Content-Type","url","stringify_default","page","size","then","res","code","pagination","total","alert","handleClose","done","handleDelete","index","row","_this2","$confirm","confirmButtonText","cancelButtonText","type","delete","addGroup","handleCreate","_this3","$refs","validate","valid","lib_default","a","stringify","$message","handleUpdate","JSON","parse","handleSave","_this4","handleSizeChange","pageSize","handleCurrentChange","currentPage","searchByKeyword","mounted","setting_group","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","width","attrs","placeholder","clearable","on","change","model","value","callback","$$v","expression","_v","icon","click","header-cell-style","background","color","border","prop","label","min-width","show-overflow-tooltip","scopedSlots","_u","key","fn","scope","round","$event","$index","align","current-page","page-sizes","page-size","layout","size-change","current-change","visible","showClose","before-close","update:visible","ref","status-icon","label-width","auto-complete","$set","slot","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"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","file":"static/js/25.e85f7ab22c459c102670.js","sourcesContent":["<template>\r\n <div>\r\n <el-card>\r\n <div class=\"group-list-top\">\r\n <div class=\"left-search-input-group\">\r\n <div class=\"left-search-input\">\r\n <el-input placeholder=\"请输入名称关键字搜索\"\r\n size=\"mini\"\r\n v-model=\"searchText\"\r\n @change=\"searchByKeyword\"\r\n :clearable=true\r\n style=\"width:300px\">\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"right-add-button-group\">\r\n <el-button type=\"primary\"\r\n size=\"mini\"\r\n icon=\"el-icon-document-add\"\r\n @click=\"addGroup\">添加</el-button>\r\n </div>\r\n </div>\r\n\r\n <el-table :header-cell-style=\"{background:'#eef1f6',color:'#606266'}\"\r\n :data=\"tableData\"\r\n size=\"small\"\r\n border>\r\n <el-table-column prop=\"id\"\r\n label=\"编号\"\r\n min-width=\"5%\"></el-table-column>\r\n <el-table-column prop=\"name\"\r\n label=\"分组名称\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"createTime\"\r\n label=\"创建时间\"\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column prop=\"updateTime\"\r\n label=\"更新时间\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"></el-table-column>\r\n <el-table-column label=\"操作\"\r\n min-width=\"35%\">\r\n <template slot-scope=\"scope\">\r\n <el-button-group>\r\n <el-button size=\"small\"\r\n type=\"warning\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleUpdate(scope.$index, scope.row)\"\r\n round>编辑</el-button>\r\n <el-button size=\"small\"\r\n type=\"success\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.$index, scope.row)\"\r\n round>删除</el-button>\r\n </el-button-group>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"page\"\r\n align=\"right\">\r\n <el-pagination @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"currentPageNum\"\r\n :page-sizes=\"[5, 10, 20, 40]\"\r\n :page-size=\"currentPageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"totalItemCount\"></el-pagination>\r\n </div>\r\n\r\n <el-dialog title=\"添加信息\"\r\n :visible.sync=\"createFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"createform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"createform\">\r\n <el-form-item label=\"分组名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"createform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"createFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleCreate\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"修改信息\"\r\n :visible.sync=\"updateFormVisible\"\r\n :showClose=\"false\"\r\n :before-close=\"handleClose\">\r\n <el-form :model=\"updateform\"\r\n size=\"mini\"\r\n status-icon\r\n :rules=\"rules\"\r\n ref=\"updateform\">\r\n <el-form-item label=\"分组名称\"\r\n label-width=\"120px\"\r\n :required=true\r\n prop=\"name\"\r\n style=\"width:85%\">\r\n <el-input v-model=\"updateform.name\"\r\n auto-complete=\"off\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\"\r\n class=\"dialog-footer\">\r\n <el-button @click=\"updateFormVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\"\r\n @click=\"handleSave\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport qs from \"qs\";\r\n\r\nexport default {\r\n name: \"group\",\r\n components: {\r\n },\r\n data () {\r\n return {\r\n loading: true,\r\n lists: [],\r\n tableData: [\r\n ],\r\n currentPageNum: 1,\r\n currentPageSize: 10,\r\n totalItemCount: 0,\r\n searchText: '',\r\n createform: {\r\n title: \"\",\r\n },\r\n updateform: {\r\n id: 0,\r\n title: \"\",\r\n },\r\n rules: {\r\n name: [\r\n {\r\n required: true,\r\n message: \"名称不能为空\",\r\n trigger: \"blur\"\r\n }\r\n ]\r\n },\r\n createFormVisible: false,\r\n updateFormVisible: false\r\n }\r\n },\r\n methods: {\r\n loadData: function () {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/listAll\",\r\n data: JSON.stringify({\r\n page: this.currentPageNum,\r\n size: this.currentPageSize,\r\n searchText: this.searchText\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.totalItemCount = res.data.pagination.total\r\n this.tableData = res.data.data;\r\n } else {\r\n alert(\"加载数据失败:\" + res.data.message);\r\n }\r\n }\r\n );\r\n },\r\n handleClose (done) {\r\n },\r\n handleDelete: function (index, row) {\r\n this.$confirm(\r\n \"此操作将此分组ID=\" + row.id + \"删除么, 是否继续?\",\r\n \"提示\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(() => {\r\n this.$http.delete(\r\n \"/sqlrest/manager/api/v1/group/delete/\" + row.id\r\n ).then(res => {\r\n if (0 === res.data.code) {\r\n this.loadData();\r\n } else {\r\n alert(\"删除失败:\" + res.data.message);\r\n }\r\n });\r\n });\r\n },\r\n addGroup: function () {\r\n this.createFormVisible = true;\r\n this.createform = {};\r\n },\r\n handleCreate: function () {\r\n this.$refs['createform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/create\",\r\n data: qs.stringify({\r\n name: this.createform.name\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.createFormVisible = false;\r\n this.$message(\"添加成功\");\r\n this.createform = {};\r\n this.loadData();\r\n } else {\r\n alert(\"添加失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleUpdate: function (index, row) {\r\n this.updateform = JSON.parse(JSON.stringify(row));\r\n this.updateFormVisible = true;\r\n },\r\n handleSave: function () {\r\n this.$refs['updateform'].validate(valid => {\r\n if (valid) {\r\n this.$http({\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n url: \"/sqlrest/manager/api/v1/group/update/\" + this.updateform.id,\r\n data: qs.stringify({\r\n name: this.updateform.name,\r\n })\r\n }).then(res => {\r\n if (0 === res.data.code) {\r\n this.updateFormVisible = false;\r\n this.$message(\"修改成功\");\r\n this.loadData();\r\n this.updateform = {};\r\n } else {\r\n alert(\"修改失败:\" + res.data.message);\r\n }\r\n });\r\n } else {\r\n alert(\"请检查输入\");\r\n }\r\n });\r\n },\r\n handleSizeChange: function (pageSize) {\r\n this.currentPageSize = pageSize;\r\n this.loadData();\r\n },\r\n handleCurrentChange: function (currentPage) {\r\n this.currentPageNum = currentPage;\r\n this.loadData();\r\n },\r\n searchByKeyword: function () {\r\n this.currentPage = 1;\r\n this.loadData();\r\n },\r\n },\r\n mounted () {\r\n this.loadData();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.el-table {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.el-card,\r\n.el-message {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n}\r\n.group-list-top {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.left-search-input-group {\r\n width: calc(100% - 100px);\r\n margin-right: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.left-search-input {\r\n width: 300px;\r\n margin-right: auto;\r\n margin: 10px 5px;\r\n}\r\n.right-add-button-group {\r\n width: 100px;\r\n margin-right: 5px;\r\n margin: 10px 5px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/setting/group.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('div',{staticClass:\"group-list-top\"},[_c('div',{staticClass:\"left-search-input-group\"},[_c('div',{staticClass:\"left-search-input\"},[_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"placeholder\":\"请输入名称关键字搜索\",\"size\":\"mini\",\"clearable\":true},on:{\"change\":_vm.searchByKeyword},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"right-add-button-group\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"icon\":\"el-icon-document-add\"},on:{\"click\":_vm.addGroup}},[_vm._v(\"添加\")])],1)]),_vm._v(\" \"),_c('el-table',{attrs:{\"header-cell-style\":{background:'#eef1f6',color:'#606266'},\"data\":_vm.tableData,\"size\":\"small\",\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"编号\",\"min-width\":\"5%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"分组名称\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"createTime\",\"label\":\"创建时间\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"prop\":\"updateTime\",\"label\":\"更新时间\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":\"操作\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"warning\",\"icon\":\"el-icon-edit\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleUpdate(scope.$index, scope.row)}}},[_vm._v(\"编辑\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"success\",\"icon\":\"el-icon-delete\",\"round\":\"\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")])],1)]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"page\",attrs:{\"align\":\"right\"}},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPageNum,\"page-sizes\":[5, 10, 20, 40],\"page-size\":_vm.currentPageSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.totalItemCount},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"添加信息\",\"visible\":_vm.createFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.createFormVisible=$event}}},[_c('el-form',{ref:\"createform\",attrs:{\"model\":_vm.createform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"分组名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.createform.name),callback:function ($$v) {_vm.$set(_vm.createform, \"name\", $$v)},expression:\"createform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.createFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleCreate}},[_vm._v(\"确 定\")])],1)],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"title\":\"修改信息\",\"visible\":_vm.updateFormVisible,\"showClose\":false,\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.updateFormVisible=$event}}},[_c('el-form',{ref:\"updateform\",attrs:{\"model\":_vm.updateform,\"size\":\"mini\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-form-item',{staticStyle:{\"width\":\"85%\"},attrs:{\"label\":\"分组名称\",\"label-width\":\"120px\",\"required\":true,\"prop\":\"name\"}},[_c('el-input',{attrs:{\"auto-complete\":\"off\"},model:{value:(_vm.updateform.name),callback:function ($$v) {_vm.$set(_vm.updateform, \"name\", $$v)},expression:\"updateform.name\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.updateFormVisible = false}}},[_vm._v(\"取 消\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"确 定\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-062d93ce\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/setting/group.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-062d93ce\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./group.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./group.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./group.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-062d93ce\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./group.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-062d93ce\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/setting/group.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([27],{"4/hK":function(n,e){},"6Wpa":function(n,e){},NHnr:function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=t("//Fk"),i=t.n(o),r=t("7+uW"),c={render:function(){var n=this.$createElement,e=this._self._c||n;return e("div",{staticClass:"body-wrapper"},[e("router-view")],1)},staticRenderFns:[]};var l=t("VU/8")({name:"App"},c,!1,function(n){t("z/cX")},"data-v-c3654c36",null).exports,a=t("/ocq");r.default.use(a.a);var u=new a.a({routes:[{path:"/",name:"首页",component:function(){return t.e(2).then(t.bind(null,"4er+"))},redirect:"/dashboard",children:[{path:"/dashboard",name:"概览",icon:"el-icon-menu",component:function(){return t.e(11).then(t.bind(null,"ARoL"))}},{path:"/datasource",name:"连接配置",icon:"el-icon-coin",component:function(){return t.e(10).then(t.bind(null,"WGg6"))},children:[{path:"/datasource/driver",name:"驱动配置",icon:"el-icon-help",component:function(){return t.e(3).then(t.bind(null,"uOvO"))}},{path:"/datasource/list",name:"连接管理",icon:"el-icon-bank-card",component:function(){return Promise.all([t.e(0),t.e(5)]).then(t.bind(null,"U0nr"))}}]},{path:"/setting",name:"系统设置",icon:"el-icon-s-tools",component:function(){return t.e(6).then(t.bind(null,"VlR1"))},children:[{path:"/setting/group",name:"授权分组",icon:"el-icon-tickets",component:function(){return Promise.all([t.e(0),t.e(25)]).then(t.bind(null,"cGhg"))}},{path:"/setting/client",name:"客户应用",icon:"el-icon-pie-chart",component:function(){return Promise.all([t.e(0),t.e(20)]).then(t.bind(null,"i2vO"))}},{path:"/setting/firewall",name:"访问控制",icon:"el-icon-notebook-2",component:function(){return Promise.all([t.e(0),t.e(14)]).then(t.bind(null,"n/J7"))}},{path:"/setting/alarm",name:"告警配置",icon:"el-icon-message-solid",component:function(){return Promise.all([t.e(0),t.e(22)]).then(t.bind(null,"tq0o"))}},{path:"/setting/topology",name:"拓扑结构",icon:"el-icon-link",component:function(){return Promise.all([t.e(0),t.e(12)]).then(t.bind(null,"aSAZ"))}}]},{path:"/interface",name:"接口开发",icon:"el-icon-edit-outline",component:function(){return t.e(9).then(t.bind(null,"zsKB"))},children:[{path:"/interface/module",name:"模块配置",icon:"el-icon-folder",component:function(){return Promise.all([t.e(0),t.e(18)]).then(t.bind(null,"BOPB"))}},{path:"/interface/list",name:"接口配置",icon:"el-icon-refrigerator",component:function(){return Promise.all([t.e(0),t.e(19)]).then(t.bind(null,"6PtB"))}}]},{path:"/service",name:"接口仓库",icon:"el-icon-school",component:function(){return t.e(7).then(t.bind(null,"JpB7"))},children:[{path:"/service/interface",name:"服务接口",icon:"el-icon-lightning",component:function(){return Promise.all([t.e(0),t.e(13)]).then(t.bind(null,"vvPu"))}}]},{path:"/mcp",name:"MCP服务",icon:"el-icon-s-promotion",component:function(){return t.e(8).then(t.bind(null,"BVcr"))},children:[{path:"/mcp/client",name:"令牌配置",icon:"el-icon-s-platform",component:function(){return Promise.all([t.e(0),t.e(17)]).then(t.bind(null,"+79G"))}},{path:"/mcp/tool",name:"工具配置",icon:"el-icon-setting",component:function(){return Promise.all([t.e(0),t.e(24)]).then(t.bind(null,"kmMP"))}}]},{path:"/aboutme",name:"关于系统",icon:"el-icon-s-custom",component:function(){return t.e(1).then(t.bind(null,"AEfp"))}},{path:"/user/self",name:"个人中心",hidden:!0,component:function(){return Promise.all([t.e(0),t.e(4)]).then(t.bind(null,"nqIE"))}},{path:"/interface/create",name:"创建任务",hidden:!0,component:function(){return Promise.all([t.e(0),t.e(23)]).then(t.bind(null,"5fz/"))}},{path:"/interface/update",name:"修改任务",hidden:!0,component:function(){return Promise.all([t.e(0),t.e(16)]).then(t.bind(null,"DuIM"))}},{path:"/interface/detail",name:"查看任务",hidden:!0,component:function(){return Promise.all([t.e(0),t.e(15)]).then(t.bind(null,"+sv1"))}}]},{path:"/login",name:"登录",component:function(){return Promise.all([t.e(0),t.e(21)]).then(t.bind(null,"T+/8"))}}]}),p=t("mtWM"),m=t.n(p).a.create();m.interceptors.request.use(function(n){return n.url=""+n.url,n});var s=m,d=t("zL8q"),h=t.n(d),f=(t("muQq"),t("6Wpa"),t("zuxR"),t("tvR6"),t("XLwt")),b=t("E5Az"),P=t.n(b),g=(t("4/hK"),t("R0ti")),v=t.n(g);r.default.use(P.a),r.default.use(s),r.default.use(h.a),r.default.use(v.a),r.default.prototype.$http=s,r.default.config.productionTip=!1,r.default.prototype.$echarts=f,s.interceptors.request.use(function(n){var e=sessionStorage.getItem("token");return e&&(n.headers.Authorization="Bearer "+e),n},function(n){return i.a.reject(n)}),s.interceptors.response.use(function(n){return!n.data||401!==n.data.code&&403!==n.data.code&&404!==n.data.code||u.push({path:"/login"}),n},function(n){return i.a.reject(n.response)}),new r.default({el:"#app",router:u,components:{App:l},template:"<App/>"})},muQq:function(n,e){},tvR6:function(n,e){},"z/cX":function(n,e){},zuxR:function(n,e){}},["NHnr"]);
//# sourceMappingURL=app.e892e4af016c82ce3f40.js.map
\ No newline at end of file
webpackJsonp([27],{"4/hK":function(n,e){},"6Wpa":function(n,e){},NHnr:function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=t("//Fk"),i=t.n(o),r=t("7+uW"),c={render:function(){var n=this.$createElement,e=this._self._c||n;return e("div",{staticClass:"body-wrapper"},[e("router-view")],1)},staticRenderFns:[]};var l=t("VU/8")({name:"App"},c,!1,function(n){t("z/cX")},"data-v-c3654c36",null).exports,a=t("/ocq");r.default.use(a.a);var u=new a.a({routes:[{path:"/",name:"首页",component:function(){return t.e(2).then(t.bind(null,"4er+"))},redirect:"/dashboard",children:[{path:"/dashboard",name:"概览",icon:"el-icon-menu",component:function(){return t.e(11).then(t.bind(null,"ARoL"))}},{path:"/datasource",name:"连接配置",icon:"el-icon-coin",component:function(){return t.e(10).then(t.bind(null,"WGg6"))},children:[{path:"/datasource/driver",name:"驱动配置",icon:"el-icon-help",component:function(){return t.e(3).then(t.bind(null,"uOvO"))}},{path:"/datasource/list",name:"连接管理",icon:"el-icon-bank-card",component:function(){return Promise.all([t.e(0),t.e(5)]).then(t.bind(null,"U0nr"))}}]},{path:"/setting",name:"系统设置",icon:"el-icon-s-tools",component:function(){return t.e(6).then(t.bind(null,"VlR1"))},children:[{path:"/setting/group",name:"授权分组",icon:"el-icon-tickets",component:function(){return Promise.all([t.e(0),t.e(25)]).then(t.bind(null,"cGhg"))}},{path:"/setting/client",name:"客户应用",icon:"el-icon-pie-chart",component:function(){return Promise.all([t.e(0),t.e(21)]).then(t.bind(null,"i2vO"))}},{path:"/setting/firewall",name:"访问控制",icon:"el-icon-notebook-2",component:function(){return Promise.all([t.e(0),t.e(14)]).then(t.bind(null,"n/J7"))}},{path:"/setting/alarm",name:"告警配置",icon:"el-icon-message-solid",component:function(){return Promise.all([t.e(0),t.e(22)]).then(t.bind(null,"tq0o"))}},{path:"/setting/topology",name:"拓扑结构",icon:"el-icon-link",component:function(){return Promise.all([t.e(0),t.e(12)]).then(t.bind(null,"aSAZ"))}}]},{path:"/interface",name:"接口开发",icon:"el-icon-edit-outline",component:function(){return t.e(9).then(t.bind(null,"zsKB"))},children:[{path:"/interface/module",name:"模块配置",icon:"el-icon-folder",component:function(){return Promise.all([t.e(0),t.e(20)]).then(t.bind(null,"BOPB"))}},{path:"/interface/list",name:"接口配置",icon:"el-icon-refrigerator",component:function(){return Promise.all([t.e(0),t.e(15)]).then(t.bind(null,"6PtB"))}}]},{path:"/service",name:"接口仓库",icon:"el-icon-school",component:function(){return t.e(7).then(t.bind(null,"JpB7"))},children:[{path:"/service/interface",name:"服务接口",icon:"el-icon-lightning",component:function(){return Promise.all([t.e(0),t.e(13)]).then(t.bind(null,"vvPu"))}}]},{path:"/mcp",name:"MCP服务",icon:"el-icon-s-promotion",component:function(){return t.e(8).then(t.bind(null,"BVcr"))},children:[{path:"/mcp/client",name:"令牌配置",icon:"el-icon-s-platform",component:function(){return Promise.all([t.e(0),t.e(18)]).then(t.bind(null,"+79G"))}},{path:"/mcp/tool",name:"工具配置",icon:"el-icon-setting",component:function(){return Promise.all([t.e(0),t.e(24)]).then(t.bind(null,"kmMP"))}}]},{path:"/aboutme",name:"关于系统",icon:"el-icon-s-custom",component:function(){return t.e(1).then(t.bind(null,"AEfp"))}},{path:"/user/self",name:"个人中心",hidden:!0,component:function(){return Promise.all([t.e(0),t.e(4)]).then(t.bind(null,"nqIE"))}},{path:"/interface/create",name:"创建任务",hidden:!0,component:function(){return Promise.all([t.e(0),t.e(23)]).then(t.bind(null,"5fz/"))}},{path:"/interface/update",name:"修改任务",hidden:!0,component:function(){return Promise.all([t.e(0),t.e(17)]).then(t.bind(null,"DuIM"))}},{path:"/interface/detail",name:"查看任务",hidden:!0,component:function(){return Promise.all([t.e(0),t.e(16)]).then(t.bind(null,"+sv1"))}}]},{path:"/login",name:"登录",component:function(){return Promise.all([t.e(0),t.e(19)]).then(t.bind(null,"T+/8"))}}]}),p=t("mtWM"),m=t.n(p).a.create();m.interceptors.request.use(function(n){return n.url=""+n.url,n});var s=m,d=t("zL8q"),h=t.n(d),f=(t("muQq"),t("6Wpa"),t("zuxR"),t("tvR6"),t("XLwt")),b=t("E5Az"),P=t.n(b),g=(t("4/hK"),t("R0ti")),v=t.n(g);r.default.use(P.a),r.default.use(s),r.default.use(h.a),r.default.use(v.a),r.default.prototype.$http=s,r.default.config.productionTip=!1,r.default.prototype.$echarts=f,s.interceptors.request.use(function(n){var e=sessionStorage.getItem("token");return e&&(n.headers.Authorization="Bearer "+e),n},function(n){return i.a.reject(n)}),s.interceptors.response.use(function(n){return!n.data||401!==n.data.code&&403!==n.data.code&&404!==n.data.code||u.push({path:"/login"}),n},function(n){return i.a.reject(n.response)}),new r.default({el:"#app",router:u,components:{App:l},template:"<App/>"})},muQq:function(n,e){},tvR6:function(n,e){},"z/cX":function(n,e){},zuxR:function(n,e){}},["NHnr"]);
//# sourceMappingURL=app.2c1ec8f3a08d363c1c13.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./src/App.vue?7a77","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/router/index.js","webpack:///./src/assets/axios.js","webpack:///./src/main.js"],"names":["selectortype_template_index_0_src_App","render","_h","this","$createElement","_c","_self","staticClass","staticRenderFns","src_App","__webpack_require__","normalizeComponent","name","ssrContext","Vue","use","Router","constantRouter","routes","path","component","e","then","bind","redirect","children","icon","Promise","all","hidden","axios","Axios","create","interceptors","request","config","url","process","VueCodeMirror","ElementUI","JsonViewer","prototype","$http","productionTip","$echarts","echarts","token","sessionStorage","getItem","headers","Authorization","error","promise_default","a","reject","response","res","data","code","router","push","el","components","App","template"],"mappings":"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","file":"static/js/app.e892e4af016c82ce3f40.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"body-wrapper\"},[_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c3654c36\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c3654c36\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c3654c36\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-c3654c36\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"body-wrapper\">\r\n <router-view/>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'App'\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.body-wrapper{\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n overflow-y: auto;\r\n background-color: #fff;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\nVue.use(Router);\r\n\r\n///////////////////////////////////////////////////////////////////////////\r\n// 路由配置\r\n// 参考教程:https://blog.csdn.net/weixin_38404899/article/details/90229805\r\n//\r\n///////////////////////////////////////////////////////////////////////////\r\nconst constantRouter = new Router({\r\n routes: [\r\n {\r\n path: '/',\r\n name: '首页',\r\n component: () => import('@/views/layout'),\r\n redirect: '/dashboard',\r\n children: [\r\n {\r\n path: '/dashboard',\r\n name: '概览',\r\n icon: \"el-icon-menu\",\r\n component: () => import('@/views/dashboard/index')\r\n },\r\n {\r\n path: '/datasource',\r\n name: '连接配置',\r\n icon: \"el-icon-coin\",\r\n component: () => import('@/views/datasource/index'),\r\n children: [\r\n {\r\n path: '/datasource/driver',\r\n name: '驱动配置',\r\n icon: \"el-icon-help\",\r\n component: () => import('@/views/datasource/driver'),\r\n },\r\n {\r\n path: '/datasource/list',\r\n name: '连接管理',\r\n icon: \"el-icon-bank-card\",\r\n component: () => import('@/views/datasource/list')\r\n }\r\n ]\r\n },\r\n {\r\n path: '/setting',\r\n name: '系统设置',\r\n icon: \"el-icon-s-tools\",\r\n component: () => import('@/views/setting/index'),\r\n children: [\r\n {\r\n path: '/setting/group',\r\n name: '授权分组',\r\n icon: \"el-icon-tickets\",\r\n component: () => import('@/views/setting/group'),\r\n },\r\n {\r\n path: '/setting/client',\r\n name: '客户应用',\r\n icon: \"el-icon-pie-chart\",\r\n component: () => import('@/views/setting/client')\r\n },\r\n {\r\n path: '/setting/firewall',\r\n name: '访问控制',\r\n icon: \"el-icon-notebook-2\",\r\n component: () => import('@/views/setting/firewall')\r\n },\r\n {\r\n path: '/setting/alarm',\r\n name: '告警配置',\r\n icon: \"el-icon-message-solid\",\r\n component: () => import('@/views/setting/alarm')\r\n },\r\n {\r\n path: '/setting/topology',\r\n name: '拓扑结构',\r\n icon: \"el-icon-link\",\r\n component: () => import('@/views/setting/topology')\r\n }\r\n ]\r\n },\r\n {\r\n path: '/interface',\r\n name: '接口开发',\r\n icon: \"el-icon-edit-outline\",\r\n component: () => import('@/views/interface/index'),\r\n children: [\r\n {\r\n path: '/interface/module',\r\n name: '模块配置',\r\n icon: \"el-icon-folder\",\r\n component: () => import('@/views/interface/module'),\r\n },\r\n {\r\n path: '/interface/list',\r\n name: '接口配置',\r\n icon: \"el-icon-refrigerator\",\r\n component: () => import('@/views/interface/list'),\r\n }\r\n ]\r\n },\r\n {\r\n path: '/service',\r\n name: '接口仓库',\r\n icon: \"el-icon-school\",\r\n component: () => import('@/views/service/index'),\r\n children: [\r\n {\r\n path: '/service/interface',\r\n name: '服务接口',\r\n icon: \"el-icon-lightning\",\r\n component: () => import('@/views/service/interface'),\r\n }\r\n ]\r\n },\r\n {\r\n path: '/mcp',\r\n name: 'MCP服务',\r\n icon: \"el-icon-s-promotion\",\r\n component: () => import('@/views/mcp/index'),\r\n children: [\r\n {\r\n path: '/mcp/client',\r\n name: '令牌配置',\r\n icon: \"el-icon-s-platform\",\r\n component: () => import('@/views/mcp/client'),\r\n },\r\n {\r\n path: '/mcp/tool',\r\n name: '工具配置',\r\n icon: \"el-icon-setting\",\r\n component: () => import('@/views/mcp/tool'),\r\n }\r\n ]\r\n },\r\n {\r\n path: '/aboutme',\r\n name: '关于系统',\r\n icon: \"el-icon-s-custom\",\r\n component: () => import('@/views/aboutme/readme')\r\n },\r\n {\r\n path: '/user/self',\r\n name: '个人中心',\r\n hidden: true,\r\n component: () => import('@/views/user/self')\r\n },\r\n {\r\n path: '/interface/create',\r\n name: '创建任务',\r\n hidden: true,\r\n component: () => import('@/views/interface/create')\r\n },\r\n {\r\n path: '/interface/update',\r\n name: '修改任务',\r\n hidden: true,\r\n component: () => import('@/views/interface/update')\r\n },\r\n {\r\n path: '/interface/detail',\r\n name: '查看任务',\r\n hidden: true,\r\n component: () => import('@/views/interface/detail')\r\n }\r\n ],\r\n },\r\n\r\n {\r\n path: '/login',\r\n name: '登录',\r\n component: () => import('@/views/login')\r\n }\r\n ]\r\n});\r\n\r\nexport default constantRouter;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","import Axios from 'axios';\r\nvar root = process.env.API_ROOT;\r\nconst axios = Axios.create();\r\n\r\n//请求拦截\r\naxios.interceptors.request.use((config) => {\r\n //请求之前重新拼装url\r\n config.url = root + config.url;\r\n return config;\r\n});\r\n\r\nexport default axios;\n\n\n// WEBPACK FOOTER //\n// ./src/assets/axios.js","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nimport router from './router'\r\nimport axios from './assets/axios.js';\r\nimport ElementUI from 'element-ui';\r\nimport './assets/iconfont/iconfont.css'\r\nimport './assets/dbicon/iconfont.css'\r\nimport './assets/sysicon/iconfont.css'\r\nimport 'element-ui/lib/theme-chalk/index.css';\r\nimport * as echarts from 'echarts'\r\nimport VueCodeMirror from 'vue-codemirror'\r\nimport 'codemirror/lib/codemirror.css'\r\nimport JsonViewer from 'vue-json-viewer'\r\n\r\nVue.use(VueCodeMirror)\r\nVue.use(axios)\r\nVue.use(ElementUI)\r\nVue.use(JsonViewer) \r\n\r\nVue.prototype.$http = axios\r\nVue.config.productionTip = false\r\nVue.prototype.$echarts = echarts\r\n\r\n\r\n// http request 拦截器\r\naxios.interceptors.request.use(config => {\r\n\r\n // 通过拦截request请求,对头部增加Authorization属性,以传递token值\r\n let token = sessionStorage.getItem('token');\r\n if (token) {\r\n config.headers.Authorization = 'Bearer ' + token;\r\n }\r\n\r\n return config;\r\n}, function (error) {\r\n // 对请求错误做些什么\r\n return Promise.reject(error)\r\n})\r\n\r\n//返回状态判断(添加响应拦截器)\r\naxios.interceptors.response.use(res => {\r\n //对响应数据做些事\r\n if (res.data && (res.data.code === 401 || res.data.code === 403 || res.data.code === 404)) {\r\n router.push({\r\n path: \"/login\"\r\n })\r\n }\r\n\r\n return res\r\n}, error => {\r\n // 返回 response 里的错误信息\r\n //console.log(error);\r\n return Promise.reject(error.response)\r\n})\r\n\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#app',\r\n router,\r\n components: { App },\r\n template: '<App/>'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js"],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///./src/App.vue?7a77","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/router/index.js","webpack:///./src/assets/axios.js","webpack:///./src/main.js"],"names":["selectortype_template_index_0_src_App","render","_h","this","$createElement","_c","_self","staticClass","staticRenderFns","src_App","__webpack_require__","normalizeComponent","name","ssrContext","Vue","use","Router","constantRouter","routes","path","component","e","then","bind","redirect","children","icon","Promise","all","hidden","axios","Axios","create","interceptors","request","config","url","process","VueCodeMirror","ElementUI","JsonViewer","prototype","$http","productionTip","$echarts","echarts","token","sessionStorage","getItem","headers","Authorization","error","promise_default","a","reject","response","res","data","code","router","push","el","components","App","template"],"mappings":"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","file":"static/js/app.2c1ec8f3a08d363c1c13.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"body-wrapper\"},[_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c3654c36\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c3654c36\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c3654c36\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-c3654c36\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","<template>\r\n <div class=\"body-wrapper\">\r\n <router-view/>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'App'\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.body-wrapper{\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n overflow-y: auto;\r\n background-color: #fff;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\nVue.use(Router);\r\n\r\n///////////////////////////////////////////////////////////////////////////\r\n// 路由配置\r\n// 参考教程:https://blog.csdn.net/weixin_38404899/article/details/90229805\r\n//\r\n///////////////////////////////////////////////////////////////////////////\r\nconst constantRouter = new Router({\r\n routes: [\r\n {\r\n path: '/',\r\n name: '首页',\r\n component: () => import('@/views/layout'),\r\n redirect: '/dashboard',\r\n children: [\r\n {\r\n path: '/dashboard',\r\n name: '概览',\r\n icon: \"el-icon-menu\",\r\n component: () => import('@/views/dashboard/index')\r\n },\r\n {\r\n path: '/datasource',\r\n name: '连接配置',\r\n icon: \"el-icon-coin\",\r\n component: () => import('@/views/datasource/index'),\r\n children: [\r\n {\r\n path: '/datasource/driver',\r\n name: '驱动配置',\r\n icon: \"el-icon-help\",\r\n component: () => import('@/views/datasource/driver'),\r\n },\r\n {\r\n path: '/datasource/list',\r\n name: '连接管理',\r\n icon: \"el-icon-bank-card\",\r\n component: () => import('@/views/datasource/list')\r\n }\r\n ]\r\n },\r\n {\r\n path: '/setting',\r\n name: '系统设置',\r\n icon: \"el-icon-s-tools\",\r\n component: () => import('@/views/setting/index'),\r\n children: [\r\n {\r\n path: '/setting/group',\r\n name: '授权分组',\r\n icon: \"el-icon-tickets\",\r\n component: () => import('@/views/setting/group'),\r\n },\r\n {\r\n path: '/setting/client',\r\n name: '客户应用',\r\n icon: \"el-icon-pie-chart\",\r\n component: () => import('@/views/setting/client')\r\n },\r\n {\r\n path: '/setting/firewall',\r\n name: '访问控制',\r\n icon: \"el-icon-notebook-2\",\r\n component: () => import('@/views/setting/firewall')\r\n },\r\n {\r\n path: '/setting/alarm',\r\n name: '告警配置',\r\n icon: \"el-icon-message-solid\",\r\n component: () => import('@/views/setting/alarm')\r\n },\r\n {\r\n path: '/setting/topology',\r\n name: '拓扑结构',\r\n icon: \"el-icon-link\",\r\n component: () => import('@/views/setting/topology')\r\n }\r\n ]\r\n },\r\n {\r\n path: '/interface',\r\n name: '接口开发',\r\n icon: \"el-icon-edit-outline\",\r\n component: () => import('@/views/interface/index'),\r\n children: [\r\n {\r\n path: '/interface/module',\r\n name: '模块配置',\r\n icon: \"el-icon-folder\",\r\n component: () => import('@/views/interface/module'),\r\n },\r\n {\r\n path: '/interface/list',\r\n name: '接口配置',\r\n icon: \"el-icon-refrigerator\",\r\n component: () => import('@/views/interface/list'),\r\n }\r\n ]\r\n },\r\n {\r\n path: '/service',\r\n name: '接口仓库',\r\n icon: \"el-icon-school\",\r\n component: () => import('@/views/service/index'),\r\n children: [\r\n {\r\n path: '/service/interface',\r\n name: '服务接口',\r\n icon: \"el-icon-lightning\",\r\n component: () => import('@/views/service/interface'),\r\n }\r\n ]\r\n },\r\n {\r\n path: '/mcp',\r\n name: 'MCP服务',\r\n icon: \"el-icon-s-promotion\",\r\n component: () => import('@/views/mcp/index'),\r\n children: [\r\n {\r\n path: '/mcp/client',\r\n name: '令牌配置',\r\n icon: \"el-icon-s-platform\",\r\n component: () => import('@/views/mcp/client'),\r\n },\r\n {\r\n path: '/mcp/tool',\r\n name: '工具配置',\r\n icon: \"el-icon-setting\",\r\n component: () => import('@/views/mcp/tool'),\r\n }\r\n ]\r\n },\r\n {\r\n path: '/aboutme',\r\n name: '关于系统',\r\n icon: \"el-icon-s-custom\",\r\n component: () => import('@/views/aboutme/readme')\r\n },\r\n {\r\n path: '/user/self',\r\n name: '个人中心',\r\n hidden: true,\r\n component: () => import('@/views/user/self')\r\n },\r\n {\r\n path: '/interface/create',\r\n name: '创建任务',\r\n hidden: true,\r\n component: () => import('@/views/interface/create')\r\n },\r\n {\r\n path: '/interface/update',\r\n name: '修改任务',\r\n hidden: true,\r\n component: () => import('@/views/interface/update')\r\n },\r\n {\r\n path: '/interface/detail',\r\n name: '查看任务',\r\n hidden: true,\r\n component: () => import('@/views/interface/detail')\r\n }\r\n ],\r\n },\r\n\r\n {\r\n path: '/login',\r\n name: '登录',\r\n component: () => import('@/views/login')\r\n }\r\n ]\r\n});\r\n\r\nexport default constantRouter;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","import Axios from 'axios';\r\nvar root = process.env.API_ROOT;\r\nconst axios = Axios.create();\r\n\r\n//请求拦截\r\naxios.interceptors.request.use((config) => {\r\n //请求之前重新拼装url\r\n config.url = root + config.url;\r\n return config;\r\n});\r\n\r\nexport default axios;\n\n\n// WEBPACK FOOTER //\n// ./src/assets/axios.js","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nimport router from './router'\r\nimport axios from './assets/axios.js';\r\nimport ElementUI from 'element-ui';\r\nimport './assets/iconfont/iconfont.css'\r\nimport './assets/dbicon/iconfont.css'\r\nimport './assets/sysicon/iconfont.css'\r\nimport 'element-ui/lib/theme-chalk/index.css';\r\nimport * as echarts from 'echarts'\r\nimport VueCodeMirror from 'vue-codemirror'\r\nimport 'codemirror/lib/codemirror.css'\r\nimport JsonViewer from 'vue-json-viewer'\r\n\r\nVue.use(VueCodeMirror)\r\nVue.use(axios)\r\nVue.use(ElementUI)\r\nVue.use(JsonViewer) \r\n\r\nVue.prototype.$http = axios\r\nVue.config.productionTip = false\r\nVue.prototype.$echarts = echarts\r\n\r\n\r\n// http request 拦截器\r\naxios.interceptors.request.use(config => {\r\n\r\n // 通过拦截request请求,对头部增加Authorization属性,以传递token值\r\n let token = sessionStorage.getItem('token');\r\n if (token) {\r\n config.headers.Authorization = 'Bearer ' + token;\r\n }\r\n\r\n return config;\r\n}, function (error) {\r\n // 对请求错误做些什么\r\n return Promise.reject(error)\r\n})\r\n\r\n//返回状态判断(添加响应拦截器)\r\naxios.interceptors.response.use(res => {\r\n //对响应数据做些事\r\n if (res.data && (res.data.code === 401 || res.data.code === 403 || res.data.code === 404)) {\r\n router.push({\r\n path: \"/login\"\r\n })\r\n }\r\n\r\n return res\r\n}, error => {\r\n // 返回 response 里的错误信息\r\n //console.log(error);\r\n return Promise.reject(error.response)\r\n})\r\n\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#app',\r\n router,\r\n components: { App },\r\n template: '<App/>'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js"],"sourceRoot":""}
\ No newline at end of file
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(n,a,f){for(var o,d,b,i=0,u=[];i<n.length;i++)d=n[i],r[d]&&u.push(r[d][0]),r[d]=0;for(o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o]);for(c&&c(n,a,f);u.length;)u.shift()();if(f)for(i=0;i<f.length;i++)b=t(t.s=f[i]);return b};var n={},r={28:0};function t(c){if(n[c])return n[c].exports;var r=n[c]={i:c,l:!1,exports:{}};return e[c].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.e=function(e){var c=r[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var n=new Promise(function(n,t){c=r[e]=[n,t]});c[2]=n;var a=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.timeout=12e4,t.nc&&f.setAttribute("nonce",t.nc),f.src=t.p+"static/js/"+e+"."+{0:"1568a674c1e79dfd061d",1:"3d620b6c7ae0e58281bc",2:"81f052b9451eeaa2ec45",3:"776d791724a8de12ff9e",4:"f8494b8dd039413f79c8",5:"404ff5302fc6ee181ee9",6:"8f85de06573e2a5f9562",7:"061807fe4716131f26f8",8:"c4a2e9952c298efc080c",9:"313072ac394fc9349d2f",10:"0591dbe3e75f89e4c00e",11:"9ccf6e8ba19ce146e66b",12:"d26d5fe93a45bd5c6eaa",13:"bfc06db76836c228f491",14:"b74db4e8e5c2f13b4c43",15:"d8a7cd9843e13fa1b5eb",16:"9a6082d7311beb531ffe",17:"ca3a537c0792f7b8e00f",18:"5096122498e2cfe23bfa",19:"492e3884353940300fa9",20:"7ac0693f49a00ab51b3e",21:"1056a6edefc50b64f16b",22:"0a5f684edcb8df816a5d",23:"93251b045354cc966a59",24:"61c786230b6da7b9ddc7",25:"b0986b0eaecd37184d01"}[e]+".js";var o=setTimeout(d,12e4);function d(){f.onerror=f.onload=null,clearTimeout(o);var c=r[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),r[e]=void 0)}return f.onerror=f.onload=d,a.appendChild(f),n},t.m=e,t.c=n,t.d=function(e,c,n){t.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(c,"a",c),c},t.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},t.p="/",t.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.1c71f09d3dc37e748c1c.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap 623af53657c52d337f0f"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","28","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"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","file":"static/js/manifest.52df910f8eccdd2a9197.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t28: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"067f6a1af8c2636542e3\",\"1\":\"7acdf4fa190624b33517\",\"2\":\"140338f6a5528feea1a3\",\"3\":\"776d791724a8de12ff9e\",\"4\":\"f8494b8dd039413f79c8\",\"5\":\"404ff5302fc6ee181ee9\",\"6\":\"8f85de06573e2a5f9562\",\"7\":\"061807fe4716131f26f8\",\"8\":\"c4a2e9952c298efc080c\",\"9\":\"313072ac394fc9349d2f\",\"10\":\"0591dbe3e75f89e4c00e\",\"11\":\"9ccf6e8ba19ce146e66b\",\"12\":\"d26d5fe93a45bd5c6eaa\",\"13\":\"bfc06db76836c228f491\",\"14\":\"b74db4e8e5c2f13b4c43\",\"15\":\"d80f5cf2fd51d72b22ea\",\"16\":\"2ca69ffb53da98b61da4\",\"17\":\"64a6906a4b77392d43c7\",\"18\":\"bb8da82a2138ed7b18a8\",\"19\":\"a2c24b3aee6af674aa30\",\"20\":\"1272deb68d764581e1ab\",\"21\":\"5952cc009e9eb6c25dfc\",\"22\":\"0a5f684edcb8df816a5d\",\"23\":\"93251b045354cc966a59\",\"24\":\"61c786230b6da7b9ddc7\",\"25\":\"e85f7ab22c459c102670\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 623af53657c52d337f0f"],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap b67c8f9452d2116dea44"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","28","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"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","file":"static/js/manifest.1c71f09d3dc37e748c1c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t28: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"1568a674c1e79dfd061d\",\"1\":\"3d620b6c7ae0e58281bc\",\"2\":\"81f052b9451eeaa2ec45\",\"3\":\"776d791724a8de12ff9e\",\"4\":\"f8494b8dd039413f79c8\",\"5\":\"404ff5302fc6ee181ee9\",\"6\":\"8f85de06573e2a5f9562\",\"7\":\"061807fe4716131f26f8\",\"8\":\"c4a2e9952c298efc080c\",\"9\":\"313072ac394fc9349d2f\",\"10\":\"0591dbe3e75f89e4c00e\",\"11\":\"9ccf6e8ba19ce146e66b\",\"12\":\"d26d5fe93a45bd5c6eaa\",\"13\":\"bfc06db76836c228f491\",\"14\":\"b74db4e8e5c2f13b4c43\",\"15\":\"d8a7cd9843e13fa1b5eb\",\"16\":\"9a6082d7311beb531ffe\",\"17\":\"ca3a537c0792f7b8e00f\",\"18\":\"5096122498e2cfe23bfa\",\"19\":\"492e3884353940300fa9\",\"20\":\"7ac0693f49a00ab51b3e\",\"21\":\"1056a6edefc50b64f16b\",\"22\":\"0a5f684edcb8df816a5d\",\"23\":\"93251b045354cc966a59\",\"24\":\"61c786230b6da7b9ddc7\",\"25\":\"b0986b0eaecd37184d01\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b67c8f9452d2116dea44"],"sourceRoot":""}
\ No newline at end of file
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(a,t,f){for(var o,d,i,u=0,b=[];u<a.length;u++)d=a[u],n[d]&&b.push(n[d][0]),n[d]=0;for(o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);for(c&&c(a,t,f);b.length;)b.shift()();if(f)for(u=0;u<f.length;u++)i=r(r.s=f[u]);return i};var a={},n={28:0};function r(c){if(a[c])return a[c].exports;var n=a[c]={i:c,l:!1,exports:{}};return e[c].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.e=function(e){var c=n[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var a=new Promise(function(a,r){c=n[e]=[a,r]});c[2]=a;var t=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.timeout=12e4,r.nc&&f.setAttribute("nonce",r.nc),f.src=r.p+"static/js/"+e+"."+{0:"067f6a1af8c2636542e3",1:"7acdf4fa190624b33517",2:"140338f6a5528feea1a3",3:"776d791724a8de12ff9e",4:"f8494b8dd039413f79c8",5:"404ff5302fc6ee181ee9",6:"8f85de06573e2a5f9562",7:"061807fe4716131f26f8",8:"c4a2e9952c298efc080c",9:"313072ac394fc9349d2f",10:"0591dbe3e75f89e4c00e",11:"9ccf6e8ba19ce146e66b",12:"d26d5fe93a45bd5c6eaa",13:"bfc06db76836c228f491",14:"b74db4e8e5c2f13b4c43",15:"d80f5cf2fd51d72b22ea",16:"2ca69ffb53da98b61da4",17:"64a6906a4b77392d43c7",18:"bb8da82a2138ed7b18a8",19:"a2c24b3aee6af674aa30",20:"1272deb68d764581e1ab",21:"5952cc009e9eb6c25dfc",22:"0a5f684edcb8df816a5d",23:"93251b045354cc966a59",24:"61c786230b6da7b9ddc7",25:"e85f7ab22c459c102670"}[e]+".js";var o=setTimeout(d,12e4);function d(){f.onerror=f.onload=null,clearTimeout(o);var c=n[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),n[e]=void 0)}return f.onerror=f.onload=d,t.appendChild(f),a},r.m=e,r.c=a,r.d=function(e,c,a){r.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:a})},r.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(c,"a",c),c},r.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},r.p="/",r.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.52df910f8eccdd2a9197.js.map
\ No newline at end of file
......@@ -13,12 +13,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.gitee.sqlrest.common.enums.HttpMethodEnum;
import com.gitee.sqlrest.persistence.entity.ApiAssignmentEntity;
import com.gitee.sqlrest.persistence.entity.ModuleAssignmentEntity;
import com.gitee.sqlrest.persistence.mapper.ApiAssignmentMapper;
import java.util.List;
import java.util.Objects;
import javax.annotation.Resource;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
@Repository
......@@ -60,6 +62,21 @@ public class ApiAssignmentDao {
return apiAssignmentMapper.selectBatchIds(ids);
}
public List<ModuleAssignmentEntity> getModuleAssignments(){
return apiAssignmentMapper.getModuleAssignments();
}
public void resetGroupByGroupId(Long groupId) {
apiAssignmentMapper.resetGroup(groupId);
}
public void updateGroup(Long groupId, List<Long> ids) {
if (CollectionUtils.isEmpty(ids)) {
return;
}
apiAssignmentMapper.updateGroup(groupId, ids);
}
public void updateStatus(Long id, Boolean onOff) {
ApiAssignmentEntity assignmentEntity = apiAssignmentMapper.selectById(id);
if (null != assignmentEntity) {
......
......@@ -31,6 +31,10 @@ public class ApiGroupDao {
return apiGroupMapper.selectById(id);
}
public List<ApiGroupEntity> listAll() {
return listAll(null);
}
public List<ApiGroupEntity> listAll(String searchText) {
return apiGroupMapper.selectList(
Wrappers.<ApiGroupEntity>lambdaQuery()
......
......@@ -34,6 +34,20 @@ public class AppClientDao {
appClientMapper.insert(appClientEntity);
}
public List<AppClientEntity> listAll() {
return listAll(null);
}
public List<AppClientEntity> listAll(String searchText, Long groupId) {
if (null == groupId) {
return listAll(searchText);
}
if (null != searchText) {
searchText = "%" + searchText + "%";
}
return appClientMapper.searchAppClient(searchText, groupId);
}
public List<AppClientEntity> listAll(String searchText) {
return appClientMapper.selectList(
Wrappers.<AppClientEntity>lambdaQuery()
......
package com.gitee.sqlrest.persistence.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ModuleAssignmentEntity {
private Long moduleId;
private String moduleName;
private Long assigmentId;
private String assigmentName;
private Long groupId;
}
......@@ -11,7 +11,34 @@ package com.gitee.sqlrest.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gitee.sqlrest.persistence.entity.ApiAssignmentEntity;
import com.gitee.sqlrest.persistence.entity.ModuleAssignmentEntity;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
public interface ApiAssignmentMapper extends BaseMapper<ApiAssignmentEntity> {
@Select("<script>"
+ "SELECT "
+ " a.id as assigment_id,"
+ " a.name as assigment_name,"
+ " a.group_id as group_id,"
+ " a.module_id as module_id,"
+ " m.name as module_name "
+ "FROM SQLREST_API_ASSIGNMENT a "
+ "LEFT JOIN SQLREST_API_MODULE m on a.module_id = m.id"
+ "</script>")
List<ModuleAssignmentEntity> getModuleAssignments();
@Update("UPDATE SQLREST_API_ASSIGNMENT SET group_id = 1 WHERE group_id=#{groupId}")
void resetGroup(@Param("groupId") Long groupId);
@Update("<script>"
+ "UPDATE SQLREST_API_ASSIGNMENT SET group_id = #{groupId} WHERE id in "
+ "<foreach collection='ids' item='item' open='(' separator=',' close=')'> "
+ " #{item} "
+ "</foreach>"
+ "</script>")
void updateGroup(@Param("groupId") Long groupId, @Param("ids") List<Long> ids);
}
......@@ -11,7 +11,19 @@ package com.gitee.sqlrest.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gitee.sqlrest.persistence.entity.AppClientEntity;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
public interface AppClientMapper extends BaseMapper<AppClientEntity> {
@Select("<script>"
+ " SELECT * FROM SQLREST_APP_CLIENT "
+ " WHERE id in(SELECT client_id FROM SQLREST_CLIENT_GROUP WHERE group_id = #{groupId} )"
+ "<if test='searchText != null and searchText.length()>0 '>"
+ " AND name like #{searchText,jdbcType=VARCHAR} "
+ "</if>"
+ " ORDER BY create_time desc "
+ "</script>")
List<AppClientEntity> searchAppClient(@Param("searchText") String searchText, @Param("groupId") Long groupId);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment