mirror of
https://github.com/ialley-workshop-open/uni-halo.git
synced 2026-06-12 21:29:31 +08:00
feat(auth): 限制阅读支持评论后访问
- 引入 getOpenid 和 getNologinEmail 方法统一管理认证信息 - 替换原有直接读取 storage 方式为封装方法调用 - 优化文章详情页按钮文案展示逻辑 - 新增评论后自动刷新限制阅读内容功能 - 调整评论权限提示逻辑,跳转至评论弹窗而非 toast 提示
This commit is contained in:
+7
-4
@@ -10,6 +10,7 @@ import qs from 'qs'
|
|||||||
import {
|
import {
|
||||||
getAppConfigs
|
getAppConfigs
|
||||||
} from '@/config/index.js'
|
} from '@/config/index.js'
|
||||||
|
import {getNologinEmail, getOpenid} from "@/utils/auth";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
/**
|
/**
|
||||||
@@ -27,7 +28,8 @@ export default {
|
|||||||
getPostByName: (name) => {
|
getPostByName: (name) => {
|
||||||
return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/posts/${name}`, {}, {
|
return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/posts/${name}`, {}, {
|
||||||
header: {
|
header: {
|
||||||
'Wechat-Session-Id': uni.getStorageSync('openid'),
|
'Wechat-Session-Id': getOpenid(),
|
||||||
|
'nologin-email': getNologinEmail()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -197,7 +199,8 @@ export default {
|
|||||||
return HttpHandler.Post(`/apis/tools.muyin.site/v1alpha1/restrict-read/check`, params, {
|
return HttpHandler.Post(`/apis/tools.muyin.site/v1alpha1/restrict-read/check`, params, {
|
||||||
header: {
|
header: {
|
||||||
'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization,
|
'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization,
|
||||||
'Wechat-Session-Id': uni.getStorageSync('openid'),
|
'Wechat-Session-Id': getOpenid(),
|
||||||
|
'nologin-email': getNologinEmail()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -209,7 +212,7 @@ export default {
|
|||||||
return HttpHandler.Get(`/apis/tools.muyin.site/v1alpha1/restrict-read/create`, null, {
|
return HttpHandler.Get(`/apis/tools.muyin.site/v1alpha1/restrict-read/create`, null, {
|
||||||
header: {
|
header: {
|
||||||
'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization,
|
'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization,
|
||||||
'Wechat-Session-Id': uni.getStorageSync('openid'),
|
'Wechat-Session-Id': getOpenid(),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -221,7 +224,7 @@ export default {
|
|||||||
return HttpHandler.Post(`/apis/linkssubmit.muyin.site/v1alpha1/submit`, form, {
|
return HttpHandler.Post(`/apis/linkssubmit.muyin.site/v1alpha1/submit`, form, {
|
||||||
header: {
|
header: {
|
||||||
'Authorization': getAppConfigs().pluginConfig.linksSubmitPlugin?.Authorization,
|
'Authorization': getAppConfigs().pluginConfig.linksSubmitPlugin?.Authorization,
|
||||||
'Wechat-Session-Id': uni.getStorageSync('openid'),
|
'Wechat-Session-Id': getOpenid(),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
:loading="true"
|
:loading="true"
|
||||||
:lines="3"
|
:lines="3"
|
||||||
:tip-text="`此处内容已隐藏,「${getRestrictReadTypeName(result)}可见」`"
|
:tip-text="`此处内容已隐藏,「${getRestrictReadTypeName(result)}可见」`"
|
||||||
button-text="查看更多"
|
:button-text="`${getRestrictReadTypeName(result)}`"
|
||||||
button-color="#1890ff"
|
button-color="#1890ff"
|
||||||
skeleton-color="#f0f0f0"
|
skeleton-color="#f0f0f0"
|
||||||
skeleton-highlight="#e0e0e0"
|
skeleton-highlight="#e0e0e0"
|
||||||
@@ -129,7 +129,7 @@
|
|||||||
:loading="true"
|
:loading="true"
|
||||||
:lines="3"
|
:lines="3"
|
||||||
:tip-text="`此处内容已隐藏,「${getRestrictReadTypeName(result)}可见」`"
|
:tip-text="`此处内容已隐藏,「${getRestrictReadTypeName(result)}可见」`"
|
||||||
button-text="查看更多"
|
:button-text="`${getRestrictReadTypeName(result)}`"
|
||||||
button-color="#1890ff"
|
button-color="#1890ff"
|
||||||
skeleton-color="#f0f0f0"
|
skeleton-color="#f0f0f0"
|
||||||
skeleton-highlight="#e0e0e0"
|
skeleton-highlight="#e0e0e0"
|
||||||
@@ -726,8 +726,10 @@ export default {
|
|||||||
this.commentModal.show = true;
|
this.commentModal.show = true;
|
||||||
},
|
},
|
||||||
fnOnCommentModalClose({ refresh, isSubmit }) {
|
fnOnCommentModalClose({ refresh, isSubmit }) {
|
||||||
console.log('refresh', refresh);
|
// 评论后自动刷新
|
||||||
console.log('isSubmit', isSubmit);
|
if (this.result?.metadata?.annotations?.restrictReadEnable === 'comment') {
|
||||||
|
this.fnGetData();
|
||||||
|
}
|
||||||
if (refresh && isSubmit && this.$refs.commentListRef) {
|
if (refresh && isSubmit && this.$refs.commentListRef) {
|
||||||
this.$refs.commentListRef.fnGetData();
|
this.$refs.commentListRef.fnGetData();
|
||||||
}
|
}
|
||||||
@@ -1236,10 +1238,8 @@ export default {
|
|||||||
this.verificationCodeModal.show = true;
|
this.verificationCodeModal.show = true;
|
||||||
return;
|
return;
|
||||||
} else if (restrictReadEnable === 'comment') {
|
} else if (restrictReadEnable === 'comment') {
|
||||||
uni.showToast({
|
this.fnToComment();
|
||||||
title: '前往web端评论后访问',
|
return;
|
||||||
icon: 'none'
|
|
||||||
});
|
|
||||||
} else if (restrictReadEnable === 'login') {
|
} else if (restrictReadEnable === 'login') {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '前往web端登录后访问',
|
title: '前往web端登录后访问',
|
||||||
|
|||||||
@@ -76,3 +76,20 @@ export function checkHasWxLogin() {
|
|||||||
export function checkHasAdminLogin() {
|
export function checkHasAdminLogin() {
|
||||||
return !!getCache('APP_ADMIN_LOGIN_TOKEN')
|
return !!getCache('APP_ADMIN_LOGIN_TOKEN')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取openid
|
||||||
|
*/
|
||||||
|
export function getOpenid() {
|
||||||
|
return uni.getStorageSync('openid');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取nologin-email
|
||||||
|
*/
|
||||||
|
export function getNologinEmail() {
|
||||||
|
let Visitor = uni.getStorageSync('Visitor');
|
||||||
|
if (!Visitor) return '';
|
||||||
|
Visitor = JSON.parse(Visitor)
|
||||||
|
return Visitor.email || Visitor.author || '';
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user