Commit 3e26ff35 authored by Jason's avatar Jason

更新 create key UI

parent fc7198d5
...@@ -102,11 +102,32 @@ namespace backstage.Controllers ...@@ -102,11 +102,32 @@ namespace backstage.Controllers
/// <returns></returns> /// <returns></returns>
[Authorize(Policy = "AdminOnly")] [Authorize(Policy = "AdminOnly")]
[HttpPost] [HttpPost]
public async Task<ResultModel> CreateKey(int keyId) public async Task<ResultModel> CreateKey(string key_name)
{ {
var result = new ResultModel(); var result = new ResultModel();
string msg; string msg;
#region key/list if (string.IsNullOrEmpty(key_name))
{
result.IsSuccess = false;
switch (_currentLanguage)
{
case "en":
msg = "Key name is empty.";
break;
case "zh":
msg = "鑰匙名稱不得為空";
break;
default:
msg = "鑰匙名稱不得為空";
break;
}
result.Message = msg;
return result;
}
// step1 create key
var url = _config["IP"] + "/security/key/generate"; var url = _config["IP"] + "/security/key/generate";
var httpMethod = HttpMethod.Post; var httpMethod = HttpMethod.Post;
var parameters = new Dictionary<string, string> var parameters = new Dictionary<string, string>
...@@ -121,6 +142,23 @@ namespace backstage.Controllers ...@@ -121,6 +142,23 @@ namespace backstage.Controllers
{ {
var Response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString()); var Response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString());
if (Response.r == 0) if (Response.r == 0)
{
#region step2 combine key
url = _config["IP"] + "/security/key/combine";
parameters = new Dictionary<string, string>
{
{ "name", key_name}
};
apiResult = await _callApi.CallAPI(url, parameters, httpMethod);
if (apiResult.IsSuccess)
{
try
{
Response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString());
if (Response.r == 0)
{ {
switch (_currentLanguage) switch (_currentLanguage)
...@@ -157,12 +195,41 @@ namespace backstage.Controllers ...@@ -157,12 +195,41 @@ namespace backstage.Controllers
} }
} }
else
{
result.IsSuccess = false; result.IsSuccess = false;
result.Message = apiResult.Message; result.Message = apiResult.Message;
return result; return result;
}
#endregion #endregion
}
else
{
result.IsSuccess = false;
result.Message = Response.m.ToString();
return result;
}
}
catch (Exception e)
{
result.IsSuccess = false;
result.Message = e.Message + e.InnerException?.Message;
return result;
}
}
else
{
result.IsSuccess = false;
result.Message = apiResult.Message;
return result;
}
} }
......
...@@ -14,8 +14,14 @@ ...@@ -14,8 +14,14 @@
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<style> <style>
.btn img {
max-width: 100%;
max-height: 100%;
}
</style> </style>
} }
<div class="page-header"> <div class="page-header">
<h3 class="page-title">@Localizer["Keys List"]</h3> <h3 class="page-title">@Localizer["Keys List"]</h3>
...@@ -43,7 +49,9 @@ ...@@ -43,7 +49,9 @@
</ul> </ul>
</div> </div>
</div> </div>
<a type="button" class="btn btn-info float-right mb-2 @disabledClass" id="CreateKey">@Localizer["Create key"]</a> <div class="newBlock">
<button type="button" class="btn btn-mainblue-solid float-right disabledClass" data-toggle="modal" data-target="#newApp"><img src="~/images/memberGo/apiKey/newapp-w-300ppi.png">@Localizer["Create key"]</button>
<div class="table-responsive"> <div class="table-responsive">
<!--交易紀錄列表 table--> <!--交易紀錄列表 table-->
<table class="table table-striped TBL_keysList"> <table class="table table-striped TBL_keysList">
...@@ -114,276 +122,88 @@ ...@@ -114,276 +122,88 @@
</div> </div>
<!-- MODAL -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="myModalLabel">選擇使用者</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<select id="selectUser" class="form-control" asp-items="ViewBag.users">
<!-- 其他用户选项 -->
</select>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="confirmBtn" data-dismiss="modal">確認</button>
</div>
</div>
</div>
</div>
<div class="modal fade " id="deleteProject" role="dialog" tabindex="-1" aria-modal="true">
<div class="modal-dialog modal-md modalforMemberGo">
<!--END of 權限 Popup Form-->
<!--New App Popup Form-->
<!-- Modal -->
<div class="modal fade" id="newApp" role="dialog" tabindex="-1">
<div class="modal-dialog modalforMemberGo">
<!-- Modal content--> <!-- Modal content-->
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4>
@Localizer["Delete key"]
</h4>
</div> <!--END of div "modal-header"-->
<div class="modal-body" style="padding-top:35px; padding-bottom: 35px">
<form>
<p>
@Localizer["Confirm"]?
</p>
<div class="SubmitBlock SubmitBlock_sm button-container">
<button id="confirmBtn" class="btn btn-mainblue-solid same-size-button">@Localizer["Submit"]</button>
<button type="button" class="btn btn-mainblue-hollow same-size-button" data-dismiss="modal">@Localizer["Cancel"]</button>
</div>
</form>
</div> <!--END of div "modal-body"-->
<div class="modal-footer">
<!-- <!--
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="close" data-dismiss="modal">&times;</button>
--> -->
</div> <!--END of div "modal-footer"-->
</div><!-- END of Modal content-->
</div><!-- END of div "modal-dialog modal-lg" -->
</div>
<!--權限 Popup Form-->
<!-- Modal -->
<div class="modal fade" id="permission" role="dialog" tabindex="-1">
<div class="modal-dialog modal-xl modalforMemberGo">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title"> <h3 class="modal-title">
<i class="fa fa-tags" aria-hidden="true"></i> 權限管理 <img src="~/images/memberGo/apiKey/newapp-orange-300ppi.png">
@Localizer["Create key"]
</h3> </h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
</div> <!--END of div "modal-header"--> </div> <!--END of div "modal-header"-->
<div class="modal-body" style="padding-top:35px;"> <div class="modal-body" style="padding-top:35px">
<div> <form class="form-horizontal0">
<div class="newBlock newPerm">
<button type="button" class="btn btn-mainblue-solid" data-toggle="collapse" data-target="#newPermission"><img src="images/memberGo/permission/userRights-4-white-100.png">新增使用者及權限</button>
</div> <!--end fo newBlock-->
<div id="newPermission" class="collapse">
<div class="row">
<div class="col-md-5">
<div class="form-group">
<select title="請選擇使用者" class="selectpicker selecter form-control selectpicker-tokenization">
<option>test A</option>
<option>test B</option>
<option>test C</option>z
<option>test D</option>
</select>
</div>
</div>
<div class="col-md-5">
<div class="form-group"> <div class="form-group">
<select multiple title="請選擇權限(複選)" class="selectpicker selecter form-control selectpicker-tokenization"> <label class="control-label" for="projectid">@Localizer["Name"]:</label>
<option>Read</option>
<option>Write</option>
<option>Update</option>
<option>Delete</option>
<option>Enable &amp; Disable</option>
</select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<button class="btn btn-primary newPermConfirmBtn">新增</button>
</div>
</div>
</div>
<hr>
</div> <!--end of "newPermission"-->
</div>
<div class="table-responsive permissionTableDiv">
<table class="table table-striped table-hover" id="memberGoTbl_permission">
<tbody>
<tr>
<th style=" border-left: solid 1px #d9d9d9;">編號</th>
<th>使用者</th>
<th>權限</th>
<th>啟動</th>
<th>建立日</th>
<th>修改日</th>
<th style=" border-right: solid 1px #d9d9d9;">操作</th>
</tr>
<tr>
<td>01</td>
<td>test1</td>
<td>
<div> <div>
<select multiple title="請選擇權限(複選)" class="selectpicker selecter selectpicker-tokenization"> <input type="text" class="form-control input-sm" id="key_name">
<option>Read</option>
<option>Write</option>
<option>Update</option>
<option>Delete</option>
<option>Enable &amp; Disable</option>
</select>
</div> </div>
</td> </div> <!--End of id:-->
<td> <!--<div class="form-group">
<input type="checkbox" checked> <label class="control-label" for="projectType">類型:</label>
</td>
<td>2018-11-09 15:14:43</td>
<td>2018-11-09 15:14:43</td>
<td>
<button class="btn btn-primary btn-sm" title="儲存">儲存</button>
</td>
</tr>
<tr>
<td>02</td>
<td>test2</td>
<td>
<div> <div>
<select multiple title="請選擇權限(複選)" class="selectpicker selectpicker-tokenization"> <select id="projectType" class="form-control" onchange="showAppAdv()">
<option>Read</option> <option value=0>請選擇類型</option>
<option>Write</option> <option value=1>Android</option>
<option>Update</option> <option value=2>iOS</option>
<option>Delete</option>
<option>Enable &amp; Disable</option>
</select> </select>
</div> </div>
</td> </div>-->
<td> <!--End of 類型:-->
<input type="checkbox" checked> <!-- Andorid Adv-->
</td> <!--<div id="andoridAdvID" class="andoridAdv">
<td>2018-11-09 15:14:43</td>
<td>2018-11-09 15:14:43</td> <div class="form-group">
<td> <label class="control-label" for="packageName">套件名稱:</label>
<button class="btn btn-primary btn-sm" title="儲存">儲存</button>
</td>
</tr>
<tr>
<td>03</td>
<td>test3</td>
<td>
<div> <div>
<select multiple title="請選擇權限(複選)" class="selectpicker selectpicker-tokenization"> <input type="text" class="form-control input-sm" id="packageName" placeholder="例如 com.example">
<option>Read</option>
<option>Write</option>
<option>Update</option>
<option>Delete</option>
<option>Enable &amp; Disable</option>
</select>
</div> </div>
</td> </div>
<td> <div class="form-group">
<input type="checkbox" checked> <label class="control-label" for="packageName">SHA-1指紋憑證:</label>
</td>
<td>2018-11-09 15:14:43</td>
<td>2018-11-09 15:14:43</td>
<td>
<button class="btn btn-primary btn-sm" title="儲存">儲存</button>
</td>
</tr>
<tr>
<td>04</td>
<td>test4</td>
<td>
<div> <div>
<select title="請選擇權限(複選)" class="selectpicker selectpicker-tokenization" multiple> <input type="text" class="form-control input-sm" id="fingerPrint" placeholder="例如: AA:BB:CC:DD:EE:00:11:22:33:44:FF:GG:HH:II:JJ:55:66:77:88:99">
<option>Read</option>
<option>Write</option>
<option>Update</option>
<option>Delete</option>
<option>Enable &amp; Disable</option>
</select>
</div> </div>
</td> </div>-->
<td> <!--End of app id:-->
<input type="checkbox" checked> <!--</div>--> <!-- End of Andorid Adv-->
</td> <!-- iOS Adv-->
<td>2018-11-09 15:14:43</td> <!--<div id="iOSAdvID" class="iOSAdv">
<td>2018-11-09 15:14:43</td>
<td>
<button class="btn btn-primary btn-sm" title="儲存">儲存</button>
</td>
</tr>
<tr> <div class="form-group">
<td>05</td> <label class="control-label" for="bundleID">繫結識別碼:</label>
<td>test5</td>
<td>
<div> <div>
<select title="請選擇權限(複選)" class="selectpicker selectpicker-tokenization" multiple> <input type="text" class="form-control input-sm" id="bundleID" placeholder="例如 com.example.MyApp">
<option>Read</option>
<option>Write</option>
<option>Update</option>
<option>Delete</option>
<option>Enable &amp; Disable</option>
</select>
</div> </div>
</td> </div>-->
<td> <!--End of app id:-->
<input type="checkbox" checked> <!-- <div class="description col-sm-12 text-center">
</td> 當您新增一個App後,系統會自動產生一組API金鑰,可至App列表中檢視
<td>2018-11-09 15:14:43</td>
<td>2018-11-09 15:14:43</td>
<td>
<button class="btn btn-primary btn-sm" title="儲存">儲存</button>
</td>
</tr>
</tbody>
<!-- <tfoot>
<tr>
<td colspan="7" class="permissionList">
<button type="button" class="btn btn-mainblue-hollow" data-dismiss="modal">關閉</button>
</td>
</tr>
</tfoot> -->
</table>
</div>
<!-- <div class="text-center">
<button type="button" class="btn btn-default" data-dismiss="modal">關閉</button>
</div> --> </div> -->
</div><!--END of div "modal-body"--> <!--</div>--> <!-- End of iOS Adv-->
<div class="modal-footer modalforMemberGo"> <div class="SubmitBlock">
<button id="CreateKey" type="button" class="btn btn-mainblue-solid btnSubmit">新增</button>
<button type="button" class="btn btn-mainblue-hollow btnReset" data-dismiss="modal">取消</button>
</div> </div>
</form>
</div> <!--END of div "modal-body"-->
<div class="modal-footer modalforMemberGo">
<!--
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
-->
</div> <!--END of div "modal-footer"-->
</div><!-- END of Modal content--> </div><!-- END of Modal content-->
</div><!-- END of div "modal-dialog modal-lg" --> </div><!-- END of div "modal-dialog modal-lg" -->
</div><!-- END of Modal--> </div><!-- END of Modal-->
<!--END of 權限 Popup Form--> <!--END of New App Popup Form-->
@section Scripts{ @section Scripts{
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
...@@ -444,17 +264,17 @@ ...@@ -444,17 +264,17 @@
//新增鑰匙 //新增鑰匙
$("#CreateKey").on("click", function (e) { $("#CreateKey").on("click", function (e) {
var keyName = $('#key_name').val();
$.ajax({ $.ajax({
url: "/Key/CreateKey", url: "/Key/CreateKey",
type: 'POST', // 或 'GET',根據實際需求 type: 'POST', // 或 'GET',根據實際需求
data: { key_name: keyName},
success: function (response) { success: function (response) {
// API 呼叫成功的處理程式碼 // API 呼叫成功的處理程式碼
showAlert(response.isSuccess, response.message) showAlert(response.isSuccess, response.message)
if (response.isSuccess) { if (response.isSuccess) {
$('#newApp').modal('hide');
setTimeout(function () { setTimeout(function () {
location.reload(); location.reload();
}, 2000); }, 2000);
......
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