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.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": {
"description": "按钮标题",
"message": "发送 Memos"
},
"extDescription": {
"description": "扩展描述",
"message": "一键发送灵感时刻,珍藏你的记忆"
},
"extName": {
"description": "扩展名称",
"message": "Memos-bber"
"sendTo": {
"message": "发送至 Memos "
},
"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 {
color: #d3d3d3
}
.title{cursor: pointer;}
.body{
min-width:460px;
background-color: #f6f5f4;
@@ -31,6 +31,8 @@ input:focus::placeholder ,.common-editor-inputer:focus::placeholder {
}
a{color: #555;}
.title{
width: 100px;
cursor: pointer;
font-size: 1.125rem;
font-weight: 700;
line-height: 2.5rem;
+4 -2
View File
@@ -2,12 +2,14 @@ chrome.runtime.onInstalled.addListener(() => {
chrome.contextMenus.create(
{
type: 'normal',
title: '发送 “%s” 至 Memos ',
title: chrome.i18n.getMessage("sendTo") + '“%s”',
id: 'Memos-send',
contexts: ['all']
},
)
})
let tempCont=''
chrome.contextMenus.onClicked.addListener(info => {
chrome.storage.sync.set({open_action: "save_text",open_content:info.selectionText});
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(
{ memo_lock: 'PUBLIC'}
)
$("#lock-now").text("所有人可见")
$("#lock-now").text(chrome.i18n.getMessage("lockPublic"))
}
if(memoNow == "PUBLIC"){
$("#lock-now").text("所有人可见")
$("#lock-now").text(chrome.i18n.getMessage("lockPublic"))
}else if(memoNow == "PRIVATE"){
$("#lock-now").text("仅自己可见")
$("#lock-now").text(chrome.i18n.getMessage("lockPrivate"))
}else if(memoNow == "PROTECTED"){
$("#lock-now").text("登录用户可见")
$("#lock-now").text(chrome.i18n.getMessage("lockProtected"))
}
$('#apiUrl').val(info.apiUrl)
$('#hideInput').val(info.hidetag)
@@ -104,16 +104,15 @@ function initDrag() {
obj.ondragenter = function (ev) {
if (ev.target.className === 'common-editor-inputer') {
$.message({
message: '拖拽到窗口上传该图片',
message: chrome.i18n.getMessage("picDrag"),
autoClose: false
})
$('body').css('opacity', 0.3)
}
ev.dataTransfer.dropEffect = 'copy'
}
obj.ondragover = function (ev) {
ev.preventDefault() //防止默认事件拖入图片 放开的时候打开图片了
ev.preventDefault()
ev.dataTransfer.dropEffect = 'copy'
}
obj.ondrop = function (ev) {
@@ -129,7 +128,7 @@ function initDrag() {
ev.preventDefault()
if (ev.target.className === 'common-editor-inputer') {
$.message({
message: '取消上传'
message: chrome.i18n.getMessage("picCancelDrag")
})
$('body').css('opacity', 1)
}
@@ -138,9 +137,8 @@ function initDrag() {
let relistNow = []
function uploadImage(data) {
//显示上传中的动画……
$.message({
message: '上传图片中……',
message: chrome.i18n.getMessage("picUploading"),
autoClose: false
})
//根据data判断是图片地址还是base64加密的数据
@@ -172,13 +170,12 @@ function uploadImage(data) {
},
function () {
$.message({
message: '上传成功'
message: chrome.i18n.getMessage("picSuccess")
})
}
)
} else {
//发送失败
//清空open_action(打开时候进行的操作),同时清空open_content
//发送失败 清空open_action(打开时候进行的操作),同时清空open_content
chrome.storage.sync.set(
{
open_action: '',
@@ -187,7 +184,7 @@ function uploadImage(data) {
},
function () {
$.message({
message: '上传图片失败'
message: chrome.i18n.getMessage("picFailed")
})
}
)
@@ -196,21 +193,20 @@ function uploadImage(data) {
})
} else {
$.message({
message: '所需要信息不足,请先填写好绑定信息'
message: chrome.i18n.getMessage("placeApiUrl")
})
}
})
}
$('#saveKey').click(function () {
// 保存数据
chrome.storage.sync.set(
{
apiUrl: $('#apiUrl').val()
},
function () {
$.message({
message: '保存信息成功'
message: chrome.i18n.getMessage("saveSuccess")
})
$('#blog_info').hide()
}
@@ -238,7 +234,7 @@ $('#tags').click(function () {
});
} else {
$.message({
message: '请先填写好 API 链接'
message: chrome.i18n.getMessage("placeApiUrl")
})
}
})
@@ -257,7 +253,7 @@ $('#saveTag').click(function () {
},
function () {
$.message({
message: '保存信息成功'
message: chrome.i18n.getMessage("saveSuccess")
})
$('#taghide').hide()
}
@@ -316,12 +312,12 @@ $('#search').click(function () {
});
}else{
$.message({
message: '想搜点啥?'
message: chrome.i18n.getMessage("searchNow")
})
}
} else {
$.message({
message: '请先填写好 API 链接'
message: chrome.i18n.getMessage("placeApiUrl")
})
}
})
@@ -356,7 +352,7 @@ $('#random').click(function () {
}
} else {
$.message({
message: '请先填写好 API 链接'
message: chrome.i18n.getMessage("placeApiUrl")
})
}
})
@@ -413,11 +409,11 @@ get_info(function (info) {
success: function(result){
$("#randomlist").html('').hide()
$.message({
message: '归档成功!😊'
message: chrome.i18n.getMessage("archiveSuccess")
})
},error:function(err){//清空open_action(打开时候进行的操作),同时清空open_content
$.message({
message: '网络问题,归档失败!😭'
message: chrome.i18n.getMessage("archiveFailed")
})
}
})
@@ -440,7 +436,9 @@ $('#getlink').click(function () {
if(tab.url){
add(linkHtml);
}else{
$.message({message: '获取失败 😂'})
$.message({
message: chrome.i18n.getMessage("getTabFailed")
})
}
})
})
@@ -482,7 +480,9 @@ $('#content_submit_text').click(function () {
if(contentVal){
sendText()
}else{
$.message({message: '写点什么,再记呗?'})
$.message({
message: chrome.i18n.getMessage("placeContent")
})
}
})
@@ -496,7 +496,7 @@ function getOne(memosId){
});
} else {
$.message({
message: '请先填写好 API 链接'
message: chrome.i18n.getMessage("placeApiUrl")
})
}
})
@@ -505,7 +505,9 @@ function getOne(memosId){
function sendText() {
get_info(function (info) {
if (info.status) {
$.message({message: '发送中~~'})
$.message({
message: chrome.i18n.getMessage("memoUploading")
})
//$("#content_submit_text").attr('disabled','disabled');
let content = $("textarea[name=text]").val()
var hideTag = info.hidetag
@@ -536,7 +538,7 @@ function sendText() {
{ open_action: '', open_content: '',resourceIdList:''},
function () {
$.message({
message: '发送成功!😊'
message: chrome.i18n.getMessage("memoSuccess")
})
//$("#content_submit_text").removeAttr('disabled');
$("textarea[name=text]").val('')
@@ -547,14 +549,14 @@ function sendText() {
{ open_action: '', open_content: '',resourceIdList:'' },
function () {
$.message({
message: '网络问题,发送失败!😭'
message: chrome.i18n.getMessage("memoFailed")
})
}
)},
})
} else {
$.message({
message: '请先填写好 API 链接'
message: chrome.i18n.getMessage("placeApiUrl")
})
}
})
+2 -2
View File
@@ -1,13 +1,13 @@
{
"manifest_version": 3,
"name": "__MSG_extName__",
"version": "2023.03.19",
"default_locale": "zh_CN",
"version": "2023.03.25",
"action": {
"default_popup": "popup.html",
"default_icon": "assets/logo_24x24.png",
"default_title": "__MSG_actionTitle__"
},
"default_locale": "zh_CN",
"description": "__MSG_extDescription__",
"homepage_url": "https://immmmm.com",
"icons": {
+12 -10
View File
@@ -24,10 +24,10 @@
type="text"
value=""
maxlength="245"
placeholder="请填入 Memos Open API 链接"
placeholder=""
required
/>
<span id="saveKey" class="action-btn confirm-btn">保存</span>
<span id="saveKey" class="action-btn confirm-btn"></span>
</div>
<div class="memo-editor">
@@ -36,7 +36,7 @@
rows="4"
name="text"
id="content"
placeholder="现在的想法是..."
placeholder=""
required=""
></textarea>
</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>
</div>
<div id="lock-wrapper" class="items-wrapper !hidden">
<div class="item-lock" data-type="PRIVATE">仅自己可见</div>
<div class="item-lock" data-type="PROTECTED">登录用户可见</div>
<div class="item-lock" data-type="PUBLIC">所有人可见</div>
<div id="lockPrivate" class="item-lock" data-type="PRIVATE"></div>
<div id="lockProtected" class="item-lock" data-type="PROTECTED"></div>
<div id="lockPublic" class="item-lock" data-type="PUBLIC"></div>
</div>
</div>
</div>
<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 class="tag-list" id="taglist"></div>
@@ -98,7 +98,7 @@
type="text"
value=""
maxlength="50"
placeholder="默认“仅自己可见”标签名"
placeholder=""
/>
<input
id="showInput"
@@ -107,14 +107,16 @@
type="text"
value=""
maxlength="50"
placeholder="默认“所有人可见”标签名"
placeholder=""
/>
<span id="saveTag" class="action-btn confirm-btn">保存</span>
<span id="saveTag" class="action-btn confirm-btn"></span>
</div>
<div class="" id="randomlist"></div>
<input type="file" id="inFile" style="display:none;">
<script src="../js/i18n.js"></script>
<script src="../js/jquery.min.js"></script>
<script src="../js/message.js"></script>
<script src="../js/dayjs.min.js"></script>