refactor: 注释去历史化,措辞改为本平台自述

This commit is contained in:
2026-09-24 10:33:16 +08:00
parent 1cbc913262
commit 2514bd9ea0
9 changed files with 13 additions and 13 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ const loggedIn = computed(() => isLoggedIn())
/**
* 显示企业名称,取 `username` 而非 `nickname`。
*
* 核心实例建号时会把 `nickname` **无条件覆盖**成打码手机号(`155****2748`,见
* 建号时会把 `nickname` **无条件覆盖**成打码手机号(`155****2748`,见
* `.scratch/hjc-auth/spec.md` 的 Q16 = G-a),拿它当企业名显示是错的;
* 而 `username` 就是「企业名称(登录账号)」,注册后不可变更,也是 `hjc_enterprise.name` 的值。
*/
+2 -2
View File
@@ -28,7 +28,7 @@
<!-- ============ 提交申请 ============ -->
<form v-if="tab === 'apply'" class="mt-6 space-y-4" @submit.prevent="submitApply">
<div class="rounded-md bg-amber-50 px-3 py-2 text-xs leading-relaxed text-amber-700">
忘记密码走材料审核,不是自助改密:平台审核通过后仍需在核心实例侧执行重置,
忘记密码走材料审核,不是自助改密:平台审核通过后仍需执行重置,
届时状态会从「已通过,等待平台执行重置」变为「已重置」,请以「查询进度」的结果为准。
</div>
@@ -154,7 +154,7 @@ usePageSeo(
siteInfo.value
)
/** 密码强度:与后端(核心实例)一致,先在前端挡一道,免得提交后才被拒 */
/** 密码强度:与后端一致,先在前端挡一道,免得提交后才被拒 */
const PASSWORD_PATTERN = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d@$!%*#?&]{8,}$/
const MAX_UPLOAD_SIZE = 5 * 1024 * 1024
+1 -1
View File
@@ -554,7 +554,7 @@ export interface DomainResolveResult {
/**
* 应用产品信息(app_product 表)
* 后端库位于 https://websopy-api.websoft.top,表前缀 app_
* 后端表:app_product / app_domain(本服务库内)
*/
export interface AppProduct {
productId?: number
+4 -4
View File
@@ -1,4 +1,4 @@
/** 汇吉采标书项目(前端视图模型,与 mp-java HjcBidProject 对齐) */
/** 汇吉采标书项目(前端视图模型,与后端 HjcBidProject 对齐) */
export interface Tender {
id: number
/** 项目编号 */
@@ -63,7 +63,7 @@ export interface Tender {
favorited?: boolean
}
/** 「我的收藏」单条(对应 mp-java HjcFavoriteVo) */
/** 「我的收藏」单条(对应后端 HjcFavoriteVo) */
export interface HjcFavorite {
/** 收藏行 id(排查用,不是项目 id) */
id: number
@@ -97,7 +97,7 @@ export interface TenderPage {
}
/**
* 标书附件(对应 mp-java `HjcTenderFileVo`)。
* 标书附件(对应后端 `HjcTenderFileVo`)。
*
* 由**后端**把项目的 `tender_file`(JSON 数组或逗号分隔)解析成结构化列表,
* 前端只渲染、不解析也不判权限。
@@ -110,7 +110,7 @@ export interface HjcTenderFile {
}
/**
* 订单(对应 mp-java `HjcOrder`,只列页面用得到的字段)。
* 订单(对应后端 `HjcOrder`,只列页面用得到的字段)。
*
* `tenderFiles` 是**付费内容**:只有 `payStatus === 1`(已支付)的订单,后端才会下发;
* 待支付 / 支付失败 / 已退款一律为 `null`(空数组表示已支付但项目没有附件)。
+1 -1
View File
@@ -10,7 +10,7 @@ import { getTenantFromContext } from '../../utils/tenant'
* 1. GET /api/page/detail?navigationId=4296 → CMS 导航节点(model=page)+ cms_design 内容(旧机制)
* 2. GET /api/page/detail?path=about → 新版「单页管理」cms_page(按 slug 取已发布单页)
*
* 与 website-admin 的「单页管理」模块对应:后端 mp-java CmsPageController.getByPath。
* 与后端 CmsPageController.getByPath 对应。
* cms-api 侧已按 status=1(已发布)过滤,未发布/不存在统一返回 data=null。
*
* 返回结构(始终为对象,前端用 status 区分):
+1 -1
View File
@@ -6,7 +6,7 @@ import { getTenantFromContext } from '../../utils/tenant'
/**
* 标书项目详情
* GET /api/tender/detail?id=1 (或 /api/tender/{id})
* 代理到 mp-api(mp-java) hjc 标书项目详情,返回扁平化项目对象;不存在则 404。
* 代理到后端 hjc 标书项目详情,返回扁平化项目对象;不存在则 404。
*
* 返回体**整体**返回后端 data(不逐字段挑选):后端新增的 `favorited`(是否已收藏)
* 正是靠这一点透传过来的,改成字段白名单就会把它丢掉。
+1 -1
View File
@@ -6,7 +6,7 @@ import { getTenantFromContext } from '../../utils/tenant'
/**
* 标书项目列表
* GET /api/tender/list?page=1&limit=10&keywords=xx&category=xx
* 代理到 mp-api(mp-java) hjc 标书项目列表(仅上架 status=1),归一化为 { list, count }。
* 代理到后端 hjc 标书项目列表(仅上架 status=1),归一化为 { list, count }。
*/
export default defineEventHandler(async (event) => {
const config = useRuntimeConfig()
+1 -1
View File
@@ -6,7 +6,7 @@ import { getTenantFromContext } from '../../utils/tenant'
/**
* 创建标书订单
* POST /api/tender/order { projectId, quantity, contactName, contactPhone, contactEmail }
* 代理到 mp-api(mp-java) /api/hjc/order/create;需登录态(从 cookie hjc_token 或 Authorization 透传)。
* 代理到后端 /api/hjc/order/create;需登录态(从 cookie hjc_token 或 Authorization 透传)。
*
* 约定:原样透传 ApiResult{code,message,data},由前端按 code 判定
* (401 未登录/token 失效、403 无权限、其余为业务失败)。
+1 -1
View File
@@ -8,7 +8,7 @@ import { getTenantFromContext } from '../../../utils/tenant'
* POST /api/tender/password/sms(无 body)
* 代理到 mp-api /api/hjc/auth/password/sms。
*
* 收件号由后端从登录态里取核心实例上的手机号(账号绑定手机号),**前端不能指定号码**——
* 收件号由后端从登录态里取账号绑定手机号,**前端不能指定号码**——
* 否则任何人都能给任意手机号发短信。
*/
export default defineEventHandler(async (event) => {