feat: add agreement-gated login state

This commit is contained in:
gqt
2026-06-10 11:46:39 +08:00
parent 11fe7399f3
commit 0d5fe7d1cf
14 changed files with 662 additions and 61 deletions
@@ -22,14 +22,14 @@ const expectExcludes = (content, unexpected, label) => {
for (const page of pages) {
const content = readFileSync(resolve(srcRoot, page), 'utf8')
expectIncludes(content, 'v-if="!session.isLoggedIn"', `${page} unauth condition`)
expectIncludes(content, '<StatePanel', `${page} unauth component`)
expectIncludes(content, 'type="login"', `${page} login state type`)
expectIncludes(content, ':show-mark="false"', `${page} login state mark`)
expectIncludes(content, "import StatePanel from '@/components/ice/StatePanel.vue'", `${page} StatePanel import`)
expectIncludes(content, '<UnauthLoginPanel', `${page} unauth component`)
expectIncludes(content, '@login="login"', `${page} login event`)
expectIncludes(content, "import UnauthLoginPanel from '@/components/UnauthLoginPanel.vue'", `${page} UnauthLoginPanel import`)
expectExcludes(content, '星河综合运动中心', `${page} unauth copy`)
expectExcludes(content, '登录后查看', `${page} unauth copy`)
expectExcludes(content, 'class="brand"', `${page} brand style`)
expectExcludes(content, 'class="desc"', `${page} desc style`)
expectExcludes(content, 'primary-text="微信一键登录"', `${page} direct StatePanel login`)
}
if (failures.length) {