diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index b23cfd9..7ffa40a 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -85,5 +85,8 @@
},
"memoFailed":{
"message": "Failed! 😭"
+ },
+ "invalidToken":{
+ "message": "Invalid token or url 😭"
}
}
\ No newline at end of file
diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json
index 1551e35..ba2402f 100644
--- a/_locales/zh_CN/messages.json
+++ b/_locales/zh_CN/messages.json
@@ -88,5 +88,8 @@
},
"memoFailed":{
"message": "发送失败 😭"
+ },
+ "invalidToken":{
+ "message": "无效的 token 或 url 😭"
}
}
diff --git a/js/oper.js b/js/oper.js
index 5076842..4fb6585 100644
--- a/js/oper.js
+++ b/js/oper.js
@@ -11,6 +11,7 @@ function get_info(callback) {
memo_lock: '',
open_action: '',
open_content: '',
+ userid: '',
resourceIdList: []
},
function (items) {
@@ -32,6 +33,7 @@ function get_info(callback) {
returnObject.memo_lock = items.memo_lock
returnObject.open_content = items.open_content
returnObject.open_action = items.open_action
+ returnObject.userid = items.userid
returnObject.resourceIdList = items.resourceIdList
if (callback) callback(returnObject)
@@ -45,17 +47,17 @@ get_info(function (info) {
$('#blog_info').hide()
}
var memoNow = info.memo_lock
- if(memoNow == ''){
+ if (memoNow == '') {
chrome.storage.sync.set(
- { memo_lock: 'PUBLIC'}
+ { memo_lock: 'PUBLIC' }
)
$("#lock-now").text(chrome.i18n.getMessage("lockPublic"))
}
- if(memoNow == "PUBLIC"){
+ if (memoNow == "PUBLIC") {
$("#lock-now").text(chrome.i18n.getMessage("lockPublic"))
- }else if(memoNow == "PRIVATE"){
+ } else if (memoNow == "PRIVATE") {
$("#lock-now").text(chrome.i18n.getMessage("lockPrivate"))
- }else if(memoNow == "PROTECTED"){
+ } else if (memoNow == "PROTECTED") {
$("#lock-now").text(chrome.i18n.getMessage("lockProtected"))
}
$('#apiUrl').val(info.apiUrl)
@@ -126,7 +128,7 @@ function initDrag() {
ev.preventDefault()
var files = ev.dataTransfer.files || ev.target.files
for (var i = 0; i < files.length; i++) {
- file = files[i]
+ file = files[i]
}
uploadImage(file)
}
@@ -165,7 +167,7 @@ function uploadImage(data) {
processData: false,
contentType: false,
dataType: 'json',
- headers : {'Authorization':'Bearer ' + info.apiTokens},
+ headers: { 'Authorization': 'Bearer ' + info.apiTokens },
success: function (data) {
console.log(data)
if (data.id) {
@@ -173,7 +175,7 @@ function uploadImage(data) {
relistNow.push(data.id)
chrome.storage.sync.set(
{
- open_action: '',
+ open_action: '',
open_content: '',
resourceIdList: relistNow
},
@@ -187,7 +189,7 @@ function uploadImage(data) {
//发送失败 清空open_action(打开时候进行的操作),同时清空open_content
chrome.storage.sync.set(
{
- open_action: '',
+ open_action: '',
open_content: '',
resourceIdList: []
},
@@ -209,19 +211,48 @@ function uploadImage(data) {
}
$('#saveKey').click(function () {
- chrome.storage.sync.set(
- {
- apiUrl: $('#apiUrl').val(),
- apiTokens: $('#apiTokens').val()
- },
- function () {
- $.message({
- message: chrome.i18n.getMessage("saveSuccess")
- })
- $('#blog_info').hide()
+ var apiUrl = $('#apiUrl').val()
+ var apiTokens = $('#apiTokens').val()
+ // 设置请求参数
+ const settings = {
+ async: true,
+ crossDomain: true,
+ url: apiUrl + 'api/v1/auth/status',
+ method: 'POST',
+ headers: {
+ 'Authorization': 'Bearer ' + apiTokens
}
- )
-})
+ };
+
+ $.ajax(settings).done(function (response) {
+ if (response && response.id) {
+ // 如果响应包含用户 ID,存储 apiUrl 和 apiTokens
+ chrome.storage.sync.set(
+ {
+ apiUrl: apiUrl,
+ apiTokens: apiTokens,
+ userid: response.id
+ },
+ function () {
+ $.message({
+ message: chrome.i18n.getMessage("saveSuccess")
+ });
+ $('#blog_info').hide();
+ }
+ );
+ } else {
+ // 如果响应不包含用户 ID,显示错误消息
+ $.message({
+ message: chrome.i18n.getMessage("invalidToken")
+ });
+ }
+ }).fail(function () {
+ // 请求失败时显示错误消息
+ $.message({
+ message: chrome.i18n.getMessage("invalidToken")
+ });
+ });
+});
$('#opensite').click(function () {
get_info(function (info) {
@@ -232,17 +263,20 @@ $('#opensite').click(function () {
$('#tags').click(function () {
get_info(function (info) {
if (info.apiUrl) {
- var tagUrl = info.apiUrl+'api/v1/tag'
- var tagDom = ""
+ var parent = "memos/-";
+ // 如果不使用 user 过滤,会返回所有用户的标签
+ var filter = "?filter=" + encodeURIComponent(`creator == 'users/${info.userid}'`);
+ var tagUrl = info.apiUrl + 'api/v1/' + parent + '/tags' + filter;
+ var tagDom = "";
$.ajax({
- url:tagUrl,
- type:"GET",
- contentType:"application/json;",
- dataType:"json",
- headers : {'Authorization':'Bearer ' + info.apiTokens},
- success: function(data){
- $.each(data, function(i,obj){
- tagDom += '#'+obj+''
+ url: tagUrl,
+ type: "GET",
+ contentType: "application/json;",
+ dataType: "json",
+ headers: { 'Authorization': 'Bearer ' + info.apiTokens },
+ success: function (data) {
+ $.each(data.tagAmounts, function (tag, amount) {
+ tagDom += '#' + tag + '';
});
tagDom += ''
$("#taglist").html(tagDom).slideToggle(500)