TheDesk Mizuki (ver.5[fixed])

This commit is contained in:
cutls 2018-04-10 01:22:08 +09:00
parent 589945a1a4
commit 8902ef55c1
12 changed files with 156 additions and 119 deletions

View File

@ -1,18 +1,16 @@
## For Astarte(kirishima.cloud), My Primary Instance ## For Astarte(kirishima.cloud), My Primary Instance
TheDesk :thedesk: Mizuki (ver.5) TheDesk :thedesk: Mizuki (ver.5[fixed])
・アップデータを改良 ・画像添付時のバグを修正
・トゥートリンクを踏んだときの利用アカウントについて改良 ・ユーザーデータの表示に関するバグを修正
・板橋丼サポート(限定公開もサポート)
ほか ほか
https://thedesk.top https://thedesk.top
:github: https://github.com/cutls/TheDesk #Desk #DeskUpdate :github: https://github.com/cutls/TheDesk #Desk #DeskUpdate
## For Vanilla Instances ## For Other Instances
PCクライアントTheDesk :thedesk: Mizuki (ver.5) PCクライアントTheDesk :thedesk: Mizuki (ver.5[fixed])
・アップデータを改良 ・画像添付時のバグを修正
・トゥートリンクを踏んだときの利用アカウントについて改良 ・ユーザーデータの表示に関するバグを修正
・板橋丼サポート(限定公開もサポート)
TheDeskはマルチカラムマルチアカウントはもちろんのことなにかとマストドンライフをシンプルに効率化するクライアントです。 TheDeskはマルチカラムマルチアカウントはもちろんのことなにかとマストドンライフをシンプルに効率化するクライアントです。
https://thedesk.top https://thedesk.top

31
app/img/sushi.svg Normal file
View File

@ -0,0 +1,31 @@
<!--?xml version="1.0" encoding="utf-8"?-->
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_x32_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="width: 256px; height: 256px; opacity: 1;" xml:space="preserve">
<style type="text/css">
.st0{fill:#fff;}
</style>
<g>
<path class="st0" d="M170.362,210.367c17.446-7.278,39.21-16.595,61.009-25.911c64.49-27.559,91.827-39.06,102.643-41.857
c16.021-4.14,32.671-6.242,49.507-6.242c1.148,0,2.241,0.037,3.352,0.046l-0.666-0.722L325.828,77.71
c-9.631-9.251-19.318-11.344-36.042-13.4c0,0-26.447-5.315-59.1,3.111c-12.891,3.334-101.106,42.117-151.65,63.185
c-50.543,21.068-68.12,56.527-68.12,56.527c-8.76,15.085-10.482,20.697-10.871,30.884c-0.371,10.205,1.574,15.456,8.945,22.522
l53.286,51.164c3.278,3.14,7,5.538,10.964,7.196c1.889-3.834,4.056-7.807,6.556-12.122
C84.943,277.163,110.058,235.482,170.362,210.367z" style="fill: rgb(255, 255, 255);"></path>
<path class="st0" d="M506,236.407l-65.676-63.045c-10.482-10.066-21.002-12.335-39.19-14.586c0,0-28.781-5.779-64.286,3.389
c-14.038,3.631-109.978,45.822-164.967,68.732c-54.989,22.92-74.102,61.481-74.102,61.481
c-9.52,16.418-11.408,22.512-11.816,33.597c-0.389,11.094,1.722,16.817,9.724,24.503l57.971,55.656
c14.298,13.715,36.616,14.53,51.877,1.88c0,0,0.315-0.556,0.852-1.361c4.353,4.019,8.594,7.899,12.428,11.372
c5.204,4.714,9.778,8.797,13.428,11.946c1.815,1.574,3.408,2.917,4.778,4.019c1.407,1.129,2.426,1.945,3.797,2.815
c3.315,2.046,7.927,5.139,13.724,7.76c5.816,2.621,12.965,4.788,21.207,4.778c6.5,0.01,13.558-1.352,20.872-4.473l0.093-0.037
l120.183-54.423c7.872-3.344,14.261-6.464,19.633-9.974c4.037-2.649,7.556-5.566,10.427-8.982
c4.352-5.122,6.908-11.27,8.094-17.512c1.204-6.298,1.37-12.798,1.389-20.411c0-4.741-0.093-9.918-0.112-15.705l-0.203-46.877
c14.631-2.908,37.412-1.028,37.412-1.028c7.76-0.407,14.52-5.389,17.242-12.658C513.483,249.984,511.612,241.788,506,236.407z
M435.046,348.645c-0.445,2.787-1.056,4.788-1.852,6.436c-1.222,2.426-2.852,4.473-6.63,7.205
c-3.76,2.676-9.594,5.731-17.947,9.232l-0.111,0.046l-119.998,54.35c-4.964,2.093-9.076,2.796-12.761,2.806
c-4.668,0-8.761-1.166-12.743-2.954c-3.945-1.778-7.612-4.158-11.242-6.436c-0.111-0.074-1.018-0.75-2.186-1.694
c-4.444-3.64-13.26-11.521-23.688-21.05c-2.204-2.028-4.63-4.269-6.983-6.426c12.873-14.9,35.116-35.774,67.528-49.294
c44.58-18.567,116.238-49.174,149.095-62.545l0.185,39.597c0.019,5.926,0.093,11.122,0.093,15.613
C435.824,339.95,435.62,344.959,435.046,348.645z" style="fill: rgb(255, 255, 255);"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -26,7 +26,7 @@
<script type="text/javascript" src="./js/ui/jquery-ui.min.js"></script> <script type="text/javascript" src="./js/ui/jquery-ui.min.js"></script>
<script> <script>
//必ずアプデ時のremove instance消して //必ずアプデ時のremove instance消して
var ver="Mizuki (ver.5)"; var ver="Mizuki (ver.5[fixed])";
//betaを入れるとバージョンチェックしない //betaを入れるとバージョンチェックしない
//var ver="beta"; //var ver="beta";
var acct_id=0; var acct_id=0;
@ -235,7 +235,7 @@ var tlid=0;
</div> </div>
<span id="radio-sta" class="radio"></span> <span id="radio-sta" class="radio"></span>
<div id="radio-view" class="hide radio mize"> <div id="radio-view" class="hide radio mize">
<a onclick="nowplaying()" class="pointer" title="Ctrl+Shift+N"><i class="fa fa-spotify"></i>NowPlaying</a> <a onclick="nowplaying('spotify')" class="pointer" title="Ctrl+Shift+N"><i class="fa fa-spotify"></i>NowPlaying</a>
<span class="cbadge pointer waves-effect" onclick="Rplay('https://listen.moe/stream','Listen.moe')" data-name="Listen.moe">Listen.moe</span> <span class="cbadge pointer waves-effect" onclick="Rplay('https://listen.moe/stream','Listen.moe')" data-name="Listen.moe">Listen.moe</span>
<span class="cbadge pointer waves-effect" onclick="Rplay('http://itori.animenfo.com:443/;','AnimeNfo Radio')" data-name="AnimeNfo Radio">AnimeNfo Radio</span> <span class="cbadge pointer waves-effect" onclick="Rplay('http://itori.animenfo.com:443/;','AnimeNfo Radio')" data-name="AnimeNfo Radio">AnimeNfo Radio</span>
<span class="cbadge pointer waves-effect" onclick="Rplay('http://hyades.shoutca.st:8043/stream','LoFi hip hop Radio')" data-name="LoFi hip hop Radio">LoFi hip hop Radio</span> <span class="cbadge pointer waves-effect" onclick="Rplay('http://hyades.shoutca.st:8043/stream','LoFi hip hop Radio')" data-name="LoFi hip hop Radio">LoFi hip hop Radio</span>

View File

@ -42,18 +42,18 @@ function pimg(files) {
if(dot=="bmp" || dot=="BMP"){ if(dot=="bmp" || dot=="BMP"){
var electron = require("electron"); var electron = require("electron");
var ipc = electron.ipcRenderer; var ipc = electron.ipcRenderer;
ipc.send('bmp-image', files[i].path); ipc.send('bmp-image', [files[i].path,i]);
todo("変換中..."); todo("変換中...");
}else{ }else{
handleFileUpload(files[i], obj); handleFileUpload(files[i], obj,i);
} }
} }
} }
var electron = require("electron"); var electron = require("electron");
var ipc = electron.ipcRenderer; var ipc = electron.ipcRenderer;
ipc.on('bmp-img-comp', function (event, b64) { ipc.on('bmp-img-comp', function (event, b64) {
beforeMedia(b64,"image/png"); media(b64[0],"image/png",b64[1]);
}); });
//ドラッグ・アンド・ドロップを終了 //ドラッグ・アンド・ドロップを終了
function closedrop() { function closedrop() {
@ -65,37 +65,31 @@ function fileselect() {
} }
//ファイル読み込み //ファイル読み込み
function handleFileUpload(files, obj) { function handleFileUpload(files, obj, no) {
var fr = new FileReader(); var fr = new FileReader();
fr.onload = function(evt) { fr.onload = function(evt) {
var b64 = evt.target.result; var b64 = evt.target.result;
$('#b64-box').val(b64); $('#b64-box').val(b64);
var ret = beforeMedia(b64, files["type"]) var ret = media(b64, files["type"], no)
} }
fr.readAsDataURL(files); fr.readAsDataURL(files);
$("#mec").append(files["name"] + "/"); $("#mec").append(files["name"] + "/");
} }
//順番意識
function beforeMedia(b64,type){
var busy = localStorage.getItem("image");
if(busy=="busy"){
timerID = setInterval(function(){
var busy = localStorage.getItem("image");
console.log("busy... please wait."+type)
if(!busy){
clearInterval(timerID);
timerID = null;
media(b64,type);
}
}, 20);
}else{
localStorage.removeItem("image");
media(b64,type);
}
}
//ファイルアップロード //ファイルアップロード
function media(b64, type) { function media(b64, type, no) {
var l = 4;
var c = "abcdefghijklmnopqrstuvwxyz0123456789";
var cl = c.length;
var r = "";
for(var i=0; i<l; i++){
r += c[Math.floor(Math.random()*cl)];
}
if ($("#media").val()) {
$("#media").val($("#media").val() + ',' + "tmp_"+r);
} else {
$("#media").val("tmp_"+r);
}
$("#toot-post-btn").prop("disabled", true); $("#toot-post-btn").prop("disabled", true);
localStorage.setItem("image","busy"); localStorage.setItem("image","busy");
todo("Image Upload..."); todo("Image Upload...");
@ -132,11 +126,11 @@ function media(b64, type) {
var img = "no-act"; var img = "no-act";
} }
if (img != "inline") { if (img != "inline") {
if ($("#media").val()) { var mediav=$("#media").val();
$("#media").val($("#media").val() + ',' + json["id"]); var regExp = new RegExp("tmp_"+r, "g");
} else { mediav = mediav.replace(regExp, json["id"]);
$("#media").val(json["id"]); $("#media").val(mediav);
}
} }
if (img == "url") { if (img == "url") {
$("#textarea").val($("#textarea").val() + " " + json["text_url"]) $("#textarea").val($("#textarea").val() + " " + json["text_url"])

View File

@ -20,7 +20,7 @@ function details(id, acct_id, tlid) {
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
if(!$("#timeline_"+tlid+" #pub_" + id).length){ if(!$("#timeline_"+tlid+" #pub_" + id).length){
var html = parse([json]); var html = parse([json], '', acct_id);
$("#toot-this").html(html); $("#toot-this").html(html);
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
} }
@ -137,7 +137,7 @@ function faved(id, acct_id) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
var templete = userparse(json); var templete = userparse(json, '', acct_id);
$("#toot-fav").html(templete); $("#toot-fav").html(templete);
}); });
} }
@ -159,7 +159,7 @@ function rted(id, acct_id) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
var templete = userparse(json); var templete = userparse(json, '', acct_id);
$("#toot-rt").html(templete); $("#toot-rt").html(templete);
}); });
} }

View File

@ -47,40 +47,67 @@ function checkSpotify(){
} }
$("#np-temp").val(content); $("#np-temp").val(content);
} }
function nowplaying(){ function nowplaying(mode){
var start = "https://thedesk.top/now-playing?at="+localStorage.getItem("spotify")+"&rt="+localStorage.getItem("spotify-refresh"); if(mode=="spotify"){
var at = localStorage.getItem("spotify"); var start = "https://thedesk.top/now-playing?at="+localStorage.getItem("spotify")+"&rt="+localStorage.getItem("spotify-refresh");
if(at){ var at = localStorage.getItem("spotify");
fetch(start, { if(at){
method: 'GET', fetch(start, {
headers: { method: 'GET',
'content-type': 'application/json' headers: {
} 'content-type': 'application/json'
}).then(function(response) { }
return response.json(); }).then(function(response) {
}).catch(function(error) { return response.json();
todo(error); }).catch(function(error) {
console.error(error); todo(error);
}).then(function(json) { console.error(error);
console.log(json); }).then(function(json) {
var item=json.item; console.log(json);
var content=localStorage.getItem("np-temp"); var item=json.item;
if(!content || content==""){ var content=localStorage.getItem("np-temp");
var content="#NowPlaying {song} / {album} / {artist}\n{url} #SpotifyWithTheDesk"; if(!content || content==""){
var content="#NowPlaying {song} / {album} / {artist}\n{url}";
}
var regExp = new RegExp("{song}", "g");
content = content.replace(regExp, item.name);
var regExp = new RegExp("{album}", "g");
content = content.replace(regExp, item.album.name);
var regExp = new RegExp("{artist}", "g");
content = content.replace(regExp, item.artists[0].name);
var regExp = new RegExp("{url}", "g");
content = content.replace(regExp, item.external_urls.spotify);
$("#textarea").val(content);
});
}else{
alert("アカウント連携設定をして下さい。");
} }
var regExp = new RegExp("{song}", "g"); }else if(mode=="itunes"){
content = content.replace(regExp, item.name); var electron = require("electron");
var regExp = new RegExp("{album}", "g"); var ipc = electron.ipcRenderer;
content = content.replace(regExp, item.album.name); ipc.send('itunes', "");
var regExp = new RegExp("{artist}", "g"); ipc.on('itunesRes', function (event, arg) {
content = content.replace(regExp, item.artists[0].name); var content=localStorage.getItem("np-temp");
var regExp = new RegExp("{url}", "g"); if(!content || content==""){
content = content.replace(regExp, item.external_urls.spotify); var content="#NowPlaying {song} / {album} / {artist}\n{url}";
$("#textarea").val(content); }
}); var str_array=arg.artist.split('');//1文字ずつ配列に入れる
}else{ var utf8Array=Encoding.convert(str_array, 'SJIS', 'AUTO');//UTF-8に変換
alert("アカウント連携設定をして下さい。"); console.log(utf8Array);
var convert=Encoding.codeToString( utf8Array );
console.log(convert);
var regExp = new RegExp("{song}", "g");
content = content.replace(regExp, arg.name);
var regExp = new RegExp("{album}", "g");
content = content.replace(regExp, arg.album);
var regExp = new RegExp("{artist}", "g");
content = content.replace(regExp, arg.artist);
var regExp = new RegExp("{url}", "g");
content = content.replace(regExp, "");
$("#textarea").val(content);
})
} }
} }
function spotifySave(){ function spotifySave(){
var temp=$("#np-temp").val(); var temp=$("#np-temp").val();

View File

@ -353,7 +353,7 @@ ipc.on('file-select', (e, args) => {
for(var i=0;i<fileNames.length;i++){ for(var i=0;i<fileNames.length;i++){
var path=fileNames[i]; var path=fileNames[i];
var bin = fs.readFileSync(path, 'base64'); var bin = fs.readFileSync(path, 'base64');
mainWindow.webContents.send('bmp-img-comp', bin); mainWindow.webContents.send('bmp-img-comp', [bin,'new']);
} }
}); });
}); });
@ -370,11 +370,11 @@ const options = {
}) })
}); });
ipc.on('bmp-image', (e, args) => { ipc.on('bmp-image', (e, args) => {
var m = args.match(/(.+)\\(.+)\.(.+)$/); var m = args[0].match(/(.+)\\(.+)\.(.+)$/);
Jimp.read(args, function (err, lenna) { Jimp.read(args[0], function (err, lenna) {
if (err) throw err; if (err) throw err;
lenna.getBase64(Jimp.MIME_PNG, function (err, src) { lenna.getBase64(Jimp.MIME_PNG, function (err, src) {
mainWindow.webContents.send('bmp-img-comp', src); mainWindow.webContents.send('bmp-img-comp', [src,args[1]]);
}); });
}); });

2
app/package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "TheDesk", "name": "TheDesk",
"version": "14.4.0", "version": "14.5.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "TheDesk", "name": "TheDesk",
"version": "14.5.0", "version": "14.5.1",
"description": "TheDesk on Mastodonはシンプルと多機能を両立したデスクトップ向けクライアントです", "description": "TheDesk on Mastodonはシンプルと多機能を両立したデスクトップ向けクライアントです",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {

View File

@ -209,41 +209,26 @@
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る</a> <a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る</a>
<br> <br>
<br>キーボードショートカット一覧 <br>キーボードショートカット一覧
<li>Ctrl+1-9:1番目9番目のTLにスクロール <li>Ctrl+1-9:1番目9番目のTLにスクロール</li>
</li> <li>N:投稿パネルを開く</li>
<li>N:投稿パネルを開く <li>X:投稿パネルを開閉</li>
</li> <li>Ctrl+Enter:投稿</li>
<li>X:投稿パネルを開閉 <li>Esc:投稿パネルを消す</li>
</li> <li>F5:スーパーリロード</li>
<li>Ctrl+Enter:投稿 <li>E:投稿パネルの幅を切り替え</li>
</li> <li>Ctrl+Shift+C:入力内容を消す</li>
<li>Esc:投稿パネルを消す <li>Ctrl+Shift+S:設</li>
</li> <li>Ctrl+Shift+M:アカウントマネージャ</li>
<li>F5:スーパーリロード <li>Ctrl+Shift+N:NowPlaying(Spotify</li>
</li> <li>Ctrl+Shift+P:現在選択中のプロフィール</li>
<li>E:投稿パネルの幅を切り替え <li>←/→:イメージビューワー起動時に画像切り替え</li>
</li> <li>マウスホイール:イメージビューワー時に拡大縮小</li>
<li>Ctrl+Shift+C:入力内容を消す 以下Markdownに対応したインスタンスのみ。
</li>
<li>Ctrl+Shift+S:設定
</li>
<li>Ctrl+Shift+M:アカウントマネージャー
</li>
<li>Ctrl+Shift+N:NowPlaying(Spotify)
</li>
<li>Ctrl+Shift+P:現在選択中のプロフィール
</li>
<li>←/→:イメージビューワー起動時に画像切り替え
</li>
<li>マウスホイール:イメージビューワー時に拡大縮小
</li>以下Markdownに対応したインスタンスのみ。
<br> <br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線 <li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
</li> <li>Shift+Enter:全角スペースを入れて改行</li>
<li>Shift+Enter:全角スペースを入れて改行 <li>Shift+Space:ゼロ幅スペース</li>
</li> 以下アスタルテにログインしている場合のみ
<li>Shift+Space:ゼロ幅スペース
</li>以下アスタルテにログインしている場合のみ
<br> <br>
<li>Ctrl+R: <li>Ctrl+R:
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く <a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
@ -255,9 +240,8 @@
<a href="https://trello.com/b/FZtwd1xx" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>Trello(今後のToDo)</a> <a href="https://trello.com/b/FZtwd1xx" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>Trello(今後のToDo)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a> <a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="./img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a> <a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="./img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a>
<a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="./img/sushi.svg" class="left" width="25" style="padding-top:5px;">寿司を投げる</a>
<br> <br>
寿司を投げる<br>
<a href="https://osushi.love/Cutls_P" target="_blank">Osushi.love</a><br>
<a href="oss.html">OSS License(オープンソースライセンス)</a><br> <a href="oss.html">OSS License(オープンソースライセンス)</a><br>
<span style="font-family:Open Sans;">Copyright &copy; TheDesk on Mastodon 2018 & Cutls.com 2015 All Rights Reserved. <span style="font-family:Open Sans;">Copyright &copy; TheDesk on Mastodon 2018 & Cutls.com 2015 All Rights Reserved.
<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a> <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a>
@ -266,7 +250,7 @@
<br> <br>
</span><br> </span><br>
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>を応援しています。<br> TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>を応援しています。<br>
<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br> タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
<script type="text/javascript" src="./js/common/about.js"></script> <script type="text/javascript" src="./js/common/about.js"></script>
<script type="text/javascript" src="./js/platform/end.js"></script> <script type="text/javascript" src="./js/platform/end.js"></script>
<script type="text/javascript" src="./js/login/logout.js"></script> <script type="text/javascript" src="./js/login/logout.js"></script>

3
package-lock.json generated Normal file
View File

@ -0,0 +1,3 @@
{
"lockfileVersion": 1
}

View File

@ -1 +1 @@
{"warn":"これはGCPにアップして下さい","warn2":"これはGCPにアップして下さい","warn3":"これはGCPにアップして下さい","desk":"Mizuki (ver.5)","date":"2018-04-08","detail":"内部V:14.5.0|ダウンローダー修正/絵文字サジェスト/トゥートリンク修正/板橋丼サポート"} {"warn":"これはGCPにアップして下さい","warn2":"これはGCPにアップして下さい","warn3":"これはGCPにアップして下さい","desk":"Mizuki (ver.5[fixed])","date":"2018-04-10","detail":"内部V:14.5.1|画像添付バグ・ユーザーデータ表示バグ等を修正"}