Files
MBTI_wang/miniprogram/utils/enterpriseContext.js
Ghost ef19f6860e feat: CRM 报告与双端结果页、管理端用户/设置与默认企业配置
1、修复了用户详情与人脸/DISC 展示、手机号与资料校验、相机页与测试选择等体验问题。

2、新增了 SystemDefaultEnterprise、discDisplay、管理端设置扩展接口;CrmReport/Test/Analyze 等 API 与路由能力补强。

3、优化了 resultFormat、descriptions、payment、企业上下文;海报与 PDP/DISC 文案;超管 Commerce/Users 与 admin Settings/Users。

Made-with: Cursor
2026-04-01 17:16:20 +08:00

54 lines
1.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 小程序企业上下文:显式入口参数 > 用户绑定企业 > 超管配置的默认企业
*/
/**
* 企业版落地页、分享带 eid、充值等完整回落链
* @returns {number|null}
*/
function getEffectiveEnterpriseId() {
const app = getApp()
const gd = app.globalData || {}
const fromScene = gd.enterpriseIdFromScene
if (fromScene != null && Number(fromScene) > 0) {
return Number(fromScene)
}
const u = gd.userInfo || wx.getStorageSync('userInfo') || {}
const bound = u.enterpriseId
if (bound != null && Number(bound) > 0) {
return Number(bound)
}
const def = gd.defaultEnterpriseId
if (def != null && Number(def) > 0) {
return Number(def)
}
return null
}
/**
* 提交给后端的 enterpriseIdanalyze、test/submit、支付创建订单、简历分析等
* - 个人版 TabappScope=personal仅传递「本次入口携带的 eid」enterpriseIdFromScene
* 不因「已绑定企业」或 runtime 默认企业带参,避免客户端误把个人页当成强制企业入口。
* - 企业版appScope=enterprise与 getEffectiveEnterpriseId 一致。
* - 未传 enterpriseId 时,后端 Test::submit / Analyze 会按「绑定企业 → 系统默认企业」回落并写入 test_results.enterpriseId。
* @returns {number|null}
*/
function getEnterpriseIdForApiPayload() {
const app = getApp()
const gd = app.globalData || {}
const scope = gd.appScope || 'personal'
if (scope === 'personal') {
const fromScene = gd.enterpriseIdFromScene
if (fromScene != null && Number(fromScene) > 0) {
return Number(fromScene)
}
return null
}
return getEffectiveEnterpriseId()
}
module.exports = {
getEffectiveEnterpriseId,
getEnterpriseIdForApiPayload
}