2023.03.25

This commit is contained in:
lmm214
2023-03-25 14:09:04 +08:00
parent 833dfdfca8
commit c14540da4e
9 changed files with 221 additions and 54 deletions
+2
View File
@@ -6,6 +6,8 @@ Chrome 应用商店:<https://chrome.google.com/webstore/detail/memos-bber/cbhj
## 更新日志 ## 更新日志
2023.03.25 右键菜单发送文本改为“追加模式”(不刷新已打开页面时);新增多语言支持(en、zh-cn)。
2023.03.19 上传图片重命名精确的秒;打开插件时 focus 输入框(配合右键发送文本到扩展,设置快捷键打开扩展,按下 Ctrl+Enter 记下)。 2023.03.19 上传图片重命名精确的秒;打开插件时 focus 输入框(配合右键发送文本到扩展,设置快捷键打开扩展,按下 Ctrl+Enter 记下)。
2023.03.10 修复发布后调用最新一条 Memos。 2023.03.10 修复发布后调用最新一条 Memos。
+77
View File
@@ -0,0 +1,77 @@
{
"extName": {
"message": "Memos"
},
"actionTitle": {
"message": "Send Memos"
},
"extDescription": {
"message": "memos: A lightweight, self-hosted memo hub."
},
"sendTo": {
"message": "SendTo Memos "
},
"saveBtn":{
"message": "Save"
},
"placeApiUrl":{
"message": "Memos Open API Link"
},
"placeContent":{
"message": "Any thoughts..."
},
"lockPrivate":{
"message": "Only visible to you"
},
"lockProtected":{
"message": "Visible to members"
},
"lockPublic":{
"message": "Everyone can see"
},
"submitBtn":{
"message": "Save"
},
"placeHideInput":{
"message": "Default Only visible to you Tag name"
},
"placeShowInput":{
"message": "Default Everyone can see Tag name"
},
"picDrag":{
"message": "Drag upload the image"
},
"picCancelDrag":{
"message": "Cancel upload"
},
"picUploading":{
"message": "Upload the picture..."
},
"picSuccess":{
"message": "Upload completed"
},
"picFailed":{
"message": "Uploading failed"
},
"searchNow":{
"message": "What your search "
},
"archiveSuccess":{
"message": "Archive Success 😊"
},
"archiveFailed":{
"message": "Archive Failed 😭"
},
"getTabFailed":{
"message": "Get Tab Failed 😭"
},
"memoUploading":{
"message": "Sending"
},
"memoSuccess":{
"message": "Success! 😊"
},
"memoFailed":{
"message": "Failed! 😭"
}
}
+71 -5
View File
@@ -1,14 +1,80 @@
{ {
"extName": {
"message": "Memos"
},
"actionTitle": { "actionTitle": {
"description": "按钮标题",
"message": "发送 Memos" "message": "发送 Memos"
}, },
"extDescription": { "extDescription": {
"description": "扩展描述",
"message": "一键发送灵感时刻,珍藏你的记忆" "message": "一键发送灵感时刻,珍藏你的记忆"
}, },
"extName": { "sendTo": {
"description": "扩展名称", "message": "发送至 Memos "
"message": "Memos-bber" },
"saveBtn":{
"message": "保存"
},
"placeApiUrl":{
"message": "请填入 Memos Open API 链接"
},
"placeContent":{
"message": "现在的想法是..."
},
"lockPrivate":{
"message": "仅自己可见"
},
"lockProtected":{
"message": "登录用户可见"
},
"lockPublic":{
"message": "所有人可见"
},
"submitBtn":{
"message": "记下"
},
"placeHideInput":{
"message": "默认“仅自己可见”标签名"
},
"placeShowInput":{
"message": "默认“所有人可见”标签名"
},
"picDrag":{
"message": "拖拽到窗口上传该图片"
},
"picCancelDrag":{
"message": "取消上传"
},
"picUploading":{
"message": "图片上传中……"
},
"picSuccess":{
"message": "上传完成"
},
"picFailed":{
"message": "上传图片失败"
},
"saveSuccess":{
"message": "保存信息成功"
},
"searchNow":{
"message": "想搜点啥?"
},
"archiveSuccess":{
"message": "归档成功!😊"
},
"archiveFailed":{
"message": "归档失败 😭"
},
"getTabFailed":{
"message": "获取标签失败 😭"
},
"memoUploading":{
"message": "发送中……"
},
"memoSuccess":{
"message": "发送成功!😊"
},
"memoFailed":{
"message": "发送失败 😭"
} }
} }
+3 -1
View File
@@ -18,7 +18,7 @@ input::placeholder ,.common-editor-inputer::placeholder {
input:focus::placeholder ,.common-editor-inputer:focus::placeholder { input:focus::placeholder ,.common-editor-inputer:focus::placeholder {
color: #d3d3d3 color: #d3d3d3
} }
.title{cursor: pointer;}
.body{ .body{
min-width:460px; min-width:460px;
background-color: #f6f5f4; background-color: #f6f5f4;
@@ -31,6 +31,8 @@ input:focus::placeholder ,.common-editor-inputer:focus::placeholder {
} }
a{color: #555;} a{color: #555;}
.title{ .title{
width: 100px;
cursor: pointer;
font-size: 1.125rem; font-size: 1.125rem;
font-weight: 700; font-weight: 700;
line-height: 2.5rem; line-height: 2.5rem;
+7 -5
View File
@@ -2,12 +2,14 @@ chrome.runtime.onInstalled.addListener(() => {
chrome.contextMenus.create( chrome.contextMenus.create(
{ {
type: 'normal', type: 'normal',
title: '发送 “%s” 至 Memos ', title: chrome.i18n.getMessage("sendTo") + '“%s”',
id: 'Memos-send', id: 'Memos-send',
contexts: ['all'] contexts: ['all']
}, },
) )
}) })
chrome.contextMenus.onClicked.addListener(info => { let tempCont=''
chrome.storage.sync.set({open_action: "save_text",open_content:info.selectionText}); chrome.contextMenus.onClicked.addListener(info => {
}) tempCont += info.selectionText + '\n'
chrome.storage.sync.set({open_action: "save_text",open_content:tempCont});
})
+14
View File
@@ -0,0 +1,14 @@
document.getElementById("saveKey").textContent = chrome.i18n.getMessage("saveBtn");
document.getElementById("saveTag").textContent = chrome.i18n.getMessage("saveBtn");
document.getElementById("apiUrl").placeholder = chrome.i18n.getMessage("placeApiUrl");
document.getElementById("content").placeholder = chrome.i18n.getMessage("placeContent");
document.getElementById("lockPrivate").textContent = chrome.i18n.getMessage("lockPrivate");
document.getElementById("lockProtected").textContent = chrome.i18n.getMessage("lockProtected");
document.getElementById("lockPublic").textContent = chrome.i18n.getMessage("lockPublic");
document.getElementById("content_submit_text").textContent = chrome.i18n.getMessage("submitBtn");
document.getElementById("hideInput").placeholder = chrome.i18n.getMessage("placeHideInput");
document.getElementById("showInput").placeholder = chrome.i18n.getMessage("placeShowInput");
+33 -31
View File
@@ -44,14 +44,14 @@ get_info(function (info) {
chrome.storage.sync.set( chrome.storage.sync.set(
{ memo_lock: 'PUBLIC'} { memo_lock: 'PUBLIC'}
) )
$("#lock-now").text("所有人可见") $("#lock-now").text(chrome.i18n.getMessage("lockPublic"))
} }
if(memoNow == "PUBLIC"){ if(memoNow == "PUBLIC"){
$("#lock-now").text("所有人可见") $("#lock-now").text(chrome.i18n.getMessage("lockPublic"))
}else if(memoNow == "PRIVATE"){ }else if(memoNow == "PRIVATE"){
$("#lock-now").text("仅自己可见") $("#lock-now").text(chrome.i18n.getMessage("lockPrivate"))
}else if(memoNow == "PROTECTED"){ }else if(memoNow == "PROTECTED"){
$("#lock-now").text("登录用户可见") $("#lock-now").text(chrome.i18n.getMessage("lockProtected"))
} }
$('#apiUrl').val(info.apiUrl) $('#apiUrl').val(info.apiUrl)
$('#hideInput').val(info.hidetag) $('#hideInput').val(info.hidetag)
@@ -104,16 +104,15 @@ function initDrag() {
obj.ondragenter = function (ev) { obj.ondragenter = function (ev) {
if (ev.target.className === 'common-editor-inputer') { if (ev.target.className === 'common-editor-inputer') {
$.message({ $.message({
message: '拖拽到窗口上传该图片', message: chrome.i18n.getMessage("picDrag"),
autoClose: false autoClose: false
}) })
$('body').css('opacity', 0.3) $('body').css('opacity', 0.3)
} }
ev.dataTransfer.dropEffect = 'copy' ev.dataTransfer.dropEffect = 'copy'
} }
obj.ondragover = function (ev) { obj.ondragover = function (ev) {
ev.preventDefault() //防止默认事件拖入图片 放开的时候打开图片了 ev.preventDefault()
ev.dataTransfer.dropEffect = 'copy' ev.dataTransfer.dropEffect = 'copy'
} }
obj.ondrop = function (ev) { obj.ondrop = function (ev) {
@@ -129,7 +128,7 @@ function initDrag() {
ev.preventDefault() ev.preventDefault()
if (ev.target.className === 'common-editor-inputer') { if (ev.target.className === 'common-editor-inputer') {
$.message({ $.message({
message: '取消上传' message: chrome.i18n.getMessage("picCancelDrag")
}) })
$('body').css('opacity', 1) $('body').css('opacity', 1)
} }
@@ -138,9 +137,8 @@ function initDrag() {
let relistNow = [] let relistNow = []
function uploadImage(data) { function uploadImage(data) {
//显示上传中的动画……
$.message({ $.message({
message: '上传图片中……', message: chrome.i18n.getMessage("picUploading"),
autoClose: false autoClose: false
}) })
//根据data判断是图片地址还是base64加密的数据 //根据data判断是图片地址还是base64加密的数据
@@ -172,13 +170,12 @@ function uploadImage(data) {
}, },
function () { function () {
$.message({ $.message({
message: '上传成功' message: chrome.i18n.getMessage("picSuccess")
}) })
} }
) )
} else { } else {
//发送失败 //发送失败 清空open_action(打开时候进行的操作),同时清空open_content
//清空open_action(打开时候进行的操作),同时清空open_content
chrome.storage.sync.set( chrome.storage.sync.set(
{ {
open_action: '', open_action: '',
@@ -187,7 +184,7 @@ function uploadImage(data) {
}, },
function () { function () {
$.message({ $.message({
message: '上传图片失败' message: chrome.i18n.getMessage("picFailed")
}) })
} }
) )
@@ -196,21 +193,20 @@ function uploadImage(data) {
}) })
} else { } else {
$.message({ $.message({
message: '所需要信息不足,请先填写好绑定信息' message: chrome.i18n.getMessage("placeApiUrl")
}) })
} }
}) })
} }
$('#saveKey').click(function () { $('#saveKey').click(function () {
// 保存数据
chrome.storage.sync.set( chrome.storage.sync.set(
{ {
apiUrl: $('#apiUrl').val() apiUrl: $('#apiUrl').val()
}, },
function () { function () {
$.message({ $.message({
message: '保存信息成功' message: chrome.i18n.getMessage("saveSuccess")
}) })
$('#blog_info').hide() $('#blog_info').hide()
} }
@@ -238,7 +234,7 @@ $('#tags').click(function () {
}); });
} else { } else {
$.message({ $.message({
message: '请先填写好 API 链接' message: chrome.i18n.getMessage("placeApiUrl")
}) })
} }
}) })
@@ -257,7 +253,7 @@ $('#saveTag').click(function () {
}, },
function () { function () {
$.message({ $.message({
message: '保存信息成功' message: chrome.i18n.getMessage("saveSuccess")
}) })
$('#taghide').hide() $('#taghide').hide()
} }
@@ -316,12 +312,12 @@ $('#search').click(function () {
}); });
}else{ }else{
$.message({ $.message({
message: '想搜点啥?' message: chrome.i18n.getMessage("searchNow")
}) })
} }
} else { } else {
$.message({ $.message({
message: '请先填写好 API 链接' message: chrome.i18n.getMessage("placeApiUrl")
}) })
} }
}) })
@@ -356,7 +352,7 @@ $('#random').click(function () {
} }
} else { } else {
$.message({ $.message({
message: '请先填写好 API 链接' message: chrome.i18n.getMessage("placeApiUrl")
}) })
} }
}) })
@@ -413,11 +409,11 @@ get_info(function (info) {
success: function(result){ success: function(result){
$("#randomlist").html('').hide() $("#randomlist").html('').hide()
$.message({ $.message({
message: '归档成功!😊' message: chrome.i18n.getMessage("archiveSuccess")
}) })
},error:function(err){//清空open_action(打开时候进行的操作),同时清空open_content },error:function(err){//清空open_action(打开时候进行的操作),同时清空open_content
$.message({ $.message({
message: '网络问题,归档失败!😭' message: chrome.i18n.getMessage("archiveFailed")
}) })
} }
}) })
@@ -440,7 +436,9 @@ $('#getlink').click(function () {
if(tab.url){ if(tab.url){
add(linkHtml); add(linkHtml);
}else{ }else{
$.message({message: '获取失败 😂'}) $.message({
message: chrome.i18n.getMessage("getTabFailed")
})
} }
}) })
}) })
@@ -482,7 +480,9 @@ $('#content_submit_text').click(function () {
if(contentVal){ if(contentVal){
sendText() sendText()
}else{ }else{
$.message({message: '写点什么,再记呗?'}) $.message({
message: chrome.i18n.getMessage("placeContent")
})
} }
}) })
@@ -496,7 +496,7 @@ function getOne(memosId){
}); });
} else { } else {
$.message({ $.message({
message: '请先填写好 API 链接' message: chrome.i18n.getMessage("placeApiUrl")
}) })
} }
}) })
@@ -505,7 +505,9 @@ function getOne(memosId){
function sendText() { function sendText() {
get_info(function (info) { get_info(function (info) {
if (info.status) { if (info.status) {
$.message({message: '发送中~~'}) $.message({
message: chrome.i18n.getMessage("memoUploading")
})
//$("#content_submit_text").attr('disabled','disabled'); //$("#content_submit_text").attr('disabled','disabled');
let content = $("textarea[name=text]").val() let content = $("textarea[name=text]").val()
var hideTag = info.hidetag var hideTag = info.hidetag
@@ -536,7 +538,7 @@ function sendText() {
{ open_action: '', open_content: '',resourceIdList:''}, { open_action: '', open_content: '',resourceIdList:''},
function () { function () {
$.message({ $.message({
message: '发送成功!😊' message: chrome.i18n.getMessage("memoSuccess")
}) })
//$("#content_submit_text").removeAttr('disabled'); //$("#content_submit_text").removeAttr('disabled');
$("textarea[name=text]").val('') $("textarea[name=text]").val('')
@@ -547,14 +549,14 @@ function sendText() {
{ open_action: '', open_content: '',resourceIdList:'' }, { open_action: '', open_content: '',resourceIdList:'' },
function () { function () {
$.message({ $.message({
message: '网络问题,发送失败!😭' message: chrome.i18n.getMessage("memoFailed")
}) })
} }
)}, )},
}) })
} else { } else {
$.message({ $.message({
message: '请先填写好 API 链接' message: chrome.i18n.getMessage("placeApiUrl")
}) })
} }
}) })
+2 -2
View File
@@ -1,13 +1,13 @@
{ {
"manifest_version": 3, "manifest_version": 3,
"name": "__MSG_extName__", "name": "__MSG_extName__",
"version": "2023.03.19", "default_locale": "zh_CN",
"version": "2023.03.25",
"action": { "action": {
"default_popup": "popup.html", "default_popup": "popup.html",
"default_icon": "assets/logo_24x24.png", "default_icon": "assets/logo_24x24.png",
"default_title": "__MSG_actionTitle__" "default_title": "__MSG_actionTitle__"
}, },
"default_locale": "zh_CN",
"description": "__MSG_extDescription__", "description": "__MSG_extDescription__",
"homepage_url": "https://immmmm.com", "homepage_url": "https://immmmm.com",
"icons": { "icons": {
+12 -10
View File
@@ -24,10 +24,10 @@
type="text" type="text"
value="" value=""
maxlength="245" maxlength="245"
placeholder="请填入 Memos Open API 链接" placeholder=""
required required
/> />
<span id="saveKey" class="action-btn confirm-btn">保存</span> <span id="saveKey" class="action-btn confirm-btn"></span>
</div> </div>
<div class="memo-editor"> <div class="memo-editor">
@@ -36,7 +36,7 @@
rows="4" rows="4"
name="text" name="text"
id="content" id="content"
placeholder="现在的想法是..." placeholder=""
required="" required=""
></textarea> ></textarea>
</div> </div>
@@ -79,14 +79,14 @@
<span id="lock-now" class="value-text"></span><span class="arrow-text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-img"><polyline points="6 9 12 15 18 9"></polyline></svg></span> <span id="lock-now" class="value-text"></span><span class="arrow-text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-img"><polyline points="6 9 12 15 18 9"></polyline></svg></span>
</div> </div>
<div id="lock-wrapper" class="items-wrapper !hidden"> <div id="lock-wrapper" class="items-wrapper !hidden">
<div class="item-lock" data-type="PRIVATE">仅自己可见</div> <div id="lockPrivate" class="item-lock" data-type="PRIVATE"></div>
<div class="item-lock" data-type="PROTECTED">登录用户可见</div> <div id="lockProtected" class="item-lock" data-type="PROTECTED"></div>
<div class="item-lock" data-type="PUBLIC">所有人可见</div> <div id="lockPublic" class="item-lock" data-type="PUBLIC"></div>
</div> </div>
</div> </div>
</div> </div>
<div class="btns-container" type="submit" name="submit" id="submit"> <div class="btns-container" type="submit" name="submit" id="submit">
<button id="content_submit_text" class="action-btn confirm-btn">记下<img class="icon-img" src="../assets/logo_24x24.png"></button> <button id="content_submit_text" class="action-btn confirm-btn"><img class="icon-img" src="../assets/logo_24x24.png"></button>
</div> </div>
</div> </div>
<div class="tag-list" id="taglist"></div> <div class="tag-list" id="taglist"></div>
@@ -98,7 +98,7 @@
type="text" type="text"
value="" value=""
maxlength="50" maxlength="50"
placeholder="默认“仅自己可见”标签名" placeholder=""
/> />
<input <input
id="showInput" id="showInput"
@@ -107,14 +107,16 @@
type="text" type="text"
value="" value=""
maxlength="50" maxlength="50"
placeholder="默认“所有人可见”标签名" placeholder=""
/> />
<span id="saveTag" class="action-btn confirm-btn">保存</span> <span id="saveTag" class="action-btn confirm-btn"></span>
</div> </div>
<div class="" id="randomlist"></div> <div class="" id="randomlist"></div>
<input type="file" id="inFile" style="display:none;"> <input type="file" id="inFile" style="display:none;">
<script src="../js/i18n.js"></script>
<script src="../js/jquery.min.js"></script> <script src="../js/jquery.min.js"></script>
<script src="../js/message.js"></script> <script src="../js/message.js"></script>
<script src="../js/dayjs.min.js"></script> <script src="../js/dayjs.min.js"></script>