
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
mb-readterm
Advanced tools
mb-readterm 是一个 Vue 3 条款阅读弹窗组件。
只需要传入后端返回的 productInfo(包含 prompt_section_list / qa_list / file_list 等),组件会自动:
waiting_time)pnpm add mb-readterm
pnpm add file:../../mb-npm/mb-readterm
<template>
<ReadTerm
v-model="visible"
:product-info="productInfo"
:data-provider="dataProvider"
@complete="onComplete"
@close="visible = false"
/>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { ReadTerm } from 'mb-readterm'
const visible = ref(false)
const productInfo = ref<any>(null)
const dataProvider = {
getInsuranceInfo: () => {
return {
// 这里返回你页面当前选项的 key/value,用于文件 condition 过滤、文本替换等
period: '1d',
plan_index: 0,
}
}
}
const onComplete = () => {
// 用户完成阅读(满足规则后点“下一条/完成”)
}
</script>
v-modelv-model / modelValue: boolean,控制弹窗显示/隐藏productInfoproductInfo: 条款数据对象(后端返回)dataProvider(可选)用于提供动态数据:
getInsuranceInfo?: () => Record<string, any> | Promise<Record<string, any>>update:modelValue(visible: boolean)complete() 阅读流程完成close() 点击关闭tab-change(index: number, key: string)scroll-end(tabKey: string)countdown-end(tabKey: string)核心字段:
prompt_section_list: tab 列表(顺序即展示顺序)qa_list: 常见问题(Q/A)file_list: 条款文件列表prompt_section_list 示例[
{ "key": "exempt_notice", "title": "责任免除" },
{ "key": "apply_notice", "title": "投保须知" },
{ "key": "claim_notice", "title": "理赔指引" },
{ "key": "qa_list", "title": "常见问题" },
{ "key": "file_list", "title": "条款文件", "type": "file_list" }
]
qa_list 示例[
{ "q": "什么是意外伤害?", "a": "..." },
{ "q": "保单如何验真?", "a": "..." }
]
file_list 示例[
{
"display_name": "保险条款",
"file_name": "xxx.pdf",
"file_url": "",
"must_read": true,
"condition": { "period": ["1d", "2d"] }
}
]
打开 PDF 时,URL 解析规则为:
file.file_url(优先)file.urlproductInfo.resource_path + file.file_name如果 file.file_name 本身是以 / 或 http 开头,则会直接使用。
组件会自动过滤以下文件(不显示):
product_info_onlysign_onlysz_only并支持 condition 联动过滤(依赖 dataProvider.getInsuranceInfo() 返回的 key/value)。
prompt_section_list 建议始终包含 file_list,文件明细放在 productInfo.file_list。FAQs
通用条款阅读组件 - Vue 3
We found that mb-readterm demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.