mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-05-17 07:26:46 +00:00
自动保存密码,并添加解密通知弹框
This commit is contained in:
@@ -37,11 +37,13 @@ export default {
|
||||
ARTICLE: 'Article',
|
||||
VISITORS: 'Visitors',
|
||||
VIEWS: 'Views',
|
||||
COPYRIGHT_NOTICE: 'All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!',
|
||||
COPYRIGHT_NOTICE:
|
||||
'All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!',
|
||||
RESULT_OF_SEARCH: 'Results Found',
|
||||
ARTICLE_DETAIL: 'Article Details',
|
||||
PASSWORD_ERROR: 'Password Error!',
|
||||
ARTICLE_LOCK_TIPS: 'Please Enter the password:',
|
||||
ARTICLE_UNLOCK_TIPS: 'Article Unlocked',
|
||||
NO_RESULTS_FOUND: 'No results found.',
|
||||
SUBMIT: 'Submit',
|
||||
POST_TIME: 'Post on',
|
||||
|
||||
@@ -29,11 +29,14 @@ export default {
|
||||
ARTICLE: '記事',
|
||||
VISITORS: '人の訪問者',
|
||||
VIEWS: '回の閲覧',
|
||||
COPYRIGHT_NOTICE: 'この記事はCC BY-NC-SA 4.0 ライセンスの下でライセンスされています。転載する場合には出典を明らかにしてください。',
|
||||
COPYRIGHT_NOTICE:
|
||||
'この記事はCC BY-NC-SA 4.0 ライセンスの下でライセンスされています。転載する場合には出典を明らかにしてください。',
|
||||
RESULT_OF_SEARCH: '個の検索結果',
|
||||
ARTICLE_DETAIL: '記事の詳細',
|
||||
PASSWORD_ERROR: 'パスワードが違います!',
|
||||
ARTICLE_LOCK_TIPS: 'この記事はロックされています。アクセスパスワードを入力してください。',
|
||||
ARTICLE_LOCK_TIPS:
|
||||
'この記事はロックされています。アクセスパスワードを入力してください。',
|
||||
ARTICLE_UNLOCK_TIPS: '記事がロック解除されました',
|
||||
SUBMIT: '送信',
|
||||
POST_TIME: '公開日',
|
||||
LAST_EDITED_TIME: '最終更新日',
|
||||
|
||||
@@ -45,6 +45,7 @@ export default {
|
||||
ARTICLE_DETAIL: '文章详情',
|
||||
PASSWORD_ERROR: '密码错误!',
|
||||
ARTICLE_LOCK_TIPS: '文章已上锁,请输入访问密码',
|
||||
ARTICLE_UNLOCK_TIPS: '文章已解锁',
|
||||
SUBMIT: '提交',
|
||||
POST_TIME: '发布于',
|
||||
LAST_EDITED_TIME: '最后更新',
|
||||
|
||||
37
lib/password.js
Normal file
37
lib/password.js
Normal file
@@ -0,0 +1,37 @@
|
||||
import { isBrowser } from './utils'
|
||||
|
||||
/**
|
||||
* 获取默认密码
|
||||
* 用户可以通过url中拼接参数,输入密码
|
||||
* 输入过一次的密码会被存储在浏览器中,便于下一次免密访问
|
||||
* 返回的是一组历史密码,便于客户端多次尝试
|
||||
*/
|
||||
export const getPasswordQuery = path => {
|
||||
// 使用 URL 对象解析 URL
|
||||
const url = new URL(path, isBrowser ? window.location.origin : '')
|
||||
|
||||
// 获取查询参数
|
||||
const queryParams = Object.fromEntries(url.searchParams.entries())
|
||||
|
||||
// 请求中带着密码
|
||||
if (queryParams.password) {
|
||||
// 将已输入密码作为默认密码存放在 localStorage,便于下次读取并自动尝试
|
||||
localStorage.setItem('password_default', queryParams.password)
|
||||
}
|
||||
|
||||
// 获取路径部分
|
||||
const cleanedPath = url.pathname
|
||||
|
||||
// 从 localStorage 中获取相关密码
|
||||
const storedPassword = localStorage.getItem('password_' + cleanedPath)
|
||||
const defaultPassword = localStorage.getItem('password_default')
|
||||
|
||||
// 将所有密码存储在一个数组中,并过滤掉无效值
|
||||
const passwords = [
|
||||
queryParams.password,
|
||||
storedPassword,
|
||||
defaultPassword
|
||||
].filter(Boolean)
|
||||
|
||||
return passwords
|
||||
}
|
||||
Reference in New Issue
Block a user