feat: 登录页密码+验证码双模式 / 首页岗位优化 / 法律页面 / 后端接口完善

- 前端:登录页重构,支持密码登录、验证码登录、注册三种模式
- 前端:首页热门岗位添加「参考示例」标签,去虚构数据
- 前端:面试页顶部优化,岗位名+状态标签展示
- 前端:新增用户协议、隐私政策页面及免责声明
- 后端:新增 POST /api/user/register 注册接口
- 后端:新增 POST /api/user/set-password 设置密码接口
- 后端:修复 user.schema.ts unique 索引导致 null 冲突问题
- 后端:新增 payment-order.schema、positions.schema、site-config.schema
- 后端:package.json 新增 postbuild 脚本自动复制证书
- 管理后台:新增订单管理 Tab
This commit is contained in:
yuzhiran
2026-06-09 15:39:17 +08:00
parent 511f60d0db
commit 37cfdfe93c
27 changed files with 1045 additions and 195 deletions
@@ -0,0 +1,44 @@
<template>
<view class="page">
<view class="section">
<text class="title">用户协议</text>
<text class="update">最后更新2026年6月8日</text>
<text class="h2">1. 接受条款</text>
<text class="body">欢迎使用宇之然AI磁场以下简称"本平台"在访问或使用本平台前请仔细阅读本用户协议通过注册登录或使用本平台的任何服务即表示您已阅读理解并同意受本协议约束</text>
<text class="h2">2. 服务说明</text>
<text class="body">本平台提供基于人工智能技术的模拟面试简历诊断与优化面经分享题库练习等求职辅助服务所有AI生成的内容仅供参考不构成专业建议</text>
<text class="h2">3. 用户账户</text>
<text class="body">3.1 您在注册时需提供真实准确的邮箱或手机号信息\n3.2 您对账户下的所有行为负责请妥善保管登录凭证\n3.3 如发现账户被盗用请立即联系我们</text>
<text class="h2">4. 用户行为规范</text>
<text class="body">4.1 不得利用本平台从事任何违法活动\n4.2 不得恶意刷量攻击系统或干扰服务正常运行\n4.3 不得侵犯他人知识产权或隐私权\n4.4 面经分享内容应为真实体验不得捏造或抄袭</text>
<text class="h2">5. 免责声明</text>
<text class="body">5.1 本平台的AI面试简历诊断简历优化等功能输出由人工智能模型生成仅供用户参考不构成任何形式的专业建议\n5.2 用户应结合自身判断核实AI输出的准确性和适用性平台不对因使用AI生成内容导致的任何损失承担责任\n5.3 面经内容由用户自发贡献平台不保证其真实性完整性或时效性</text>
<text class="h2">6. 会员服务</text>
<text class="body">6.1 会员服务为订阅制按月度计费\n6.2 会员生效后费用不予退还但可按剩余天数申请等额延期\n6.3 平台有权在提前通知的情况下调整会员权益和价格</text>
<text class="h2">7. 知识产权</text>
<text class="body">本平台的品牌LOGO软件著作权等知识产权归宇之然所有未经授权不得复制修改或用于商业用途</text>
<text class="h2">8. 协议变更</text>
<text class="body">本平台有权随时修改本协议修改后的协议一经发布即生效如您继续使用服务视为接受修改后的协议</text>
<text class="h2">9. 联系我们</text>
<text class="body">邮箱contact@yuzhiran.com</text>
</view>
</view>
</template>
<style scoped>
.page { background: var(--color-bg); min-height: 100vh; padding: 32rpx; }
.section { background: #FFF; border-radius: var(--radius-lg); padding: 32rpx; }
.title { font-size: 36rpx; font-weight: 800; color: var(--color-text); display: block; margin-bottom: 8rpx; }
.update { font-size: 22rpx; color: var(--color-text-tertiary); display: block; margin-bottom: 32rpx; }
.h2 { font-size: 28rpx; font-weight: 700; color: var(--color-text); display: block; margin-top: 28rpx; margin-bottom: 12rpx; }
.body { font-size: 26rpx; color: var(--color-text-secondary); line-height: 1.8; white-space: pre-wrap; display: block; }
</style>