chore:新增一个企业微信名片

This commit is contained in:
2026-10-20 14:07:05 +08:00
parent 9d3cd2b65e
commit bdd0935fab
2 changed files with 87 additions and 5 deletions

View File

@@ -67,7 +67,17 @@ export const CARD_API_URL = {
// 预设列表必须与商家后台 CardTemplatePresets 同源(避免前端自建漂移)
// ⚠ v2 路径无 /card/ 段: 初版 /card/api/card/design/* 在本框架 action 单段路由下 404
CARD_DESIGN_PRESETS: '/card/api/design/presets', // 预设列表(同源后台 CardTemplatePresets)
CARD_DESIGN_SAVE: '/card/api/design/save' // 应用预设/保存本卡样式
CARD_DESIGN_SAVE: '/card/api/design/save', // 应用预设/保存本卡样式
// === 企业名片 /card/api/enterprise/* (2.13.6) ===
// 业务模型: 企业卡片 owner_id=0(店铺级), 同一时刻仅 1 张 is_active=1 生效;
// 名片区三模式 header_mode: official(指定/默认官方企业卡) / self(员工自选个人卡) / staff(员工轮播)
ENTERPRISE_DETAIL: '/card/api/enterprise/detail', // GET ?card_id= 不传=当前生效卡
ENTERPRISE_SAVE: '/card/api/enterprise/save', // POST {card_id?,fields?,design?,header_mode?,official_card_id?}
ENTERPRISE_MINE: '/card/api/enterprise/mine', // GET 自己名下企业卡列表
ENTERPRISE_ACTIVATE: '/card/api/enterprise/activate', // POST {card_id} 切换生效(互斥)
ENTERPRISE_CHOOSE_SELF: '/card/api/enterprise/chooseSelf', // POST {card_id} 员工自选展示个人卡
ENTERPRISE_DELETE: '/card/api/enterprise/delete' // POST {card_id} 删候选卡(生效卡禁删)
};
/**
@@ -492,6 +502,65 @@ const CardApi = {
*/
cardDesignSave(p) {
Http.sendJson(Object.assign({ url: CARD_API_URL.CARD_DESIGN_SAVE }, p || {}));
},
/* ================= 企业名片 2.13.6 ================= */
/**
* 企业名片详情(核心)
* GET ?card_id= 不传返回当前生效企业名片;传候选卡 id 可预览(is_active=0)
* 成功 data: { card_id, is_active, is_owner, fields:{name,company,job_title,mobile,email,
* website,address,wechat,avatar,bio,name_en,company_en,job_title_en,bio_en},
* design:{theme_color,bg_color,text_color,template_id,canvas,header_mode,official_card_id},
* header:{mode,official_card_id,official,self,staff} }
* 渲染: 名片区按 header.mode 取 official/self/staff 数据, 内容区用 fields+design.canvas
* 失败「企业名片不存在」→ 前端空态引导去管理端创建
* @param {Object} p { data: { card_id? }, success, fail }
*/
enterpriseDetail(p) {
Http.sendRequest(Object.assign({ url: CARD_API_URL.ENTERPRISE_DETAIL }, p || {}));
},
/**
* 保存企业名片(后台/会员;owner_id=0 的卡会员不可改)
* @param {Object} p { data: { card_id?, fields?, design?, header_mode?, official_card_id? }, success, fail }
*/
enterpriseSave(p) {
Http.sendJson(Object.assign({ url: CARD_API_URL.ENTERPRISE_SAVE }, p || {}));
},
/**
* 我的企业名片列表(自己名下)
* 成功 data: { list: [{ card_id, name, is_active }] }
* @param {Object} p { success, fail }
*/
enterpriseMine(p) {
Http.sendRequest(Object.assign({ url: CARD_API_URL.ENTERPRISE_MINE }, p || {}));
},
/**
* 切换生效企业名片(互斥:全店仅 1 张 is_active=1,仅能切自己名下的卡)
* @param {Object} p { data: { card_id }, success, fail }
*/
enterpriseActivate(p) {
Http.sendJson(Object.assign({ url: CARD_API_URL.ENTERPRISE_ACTIVATE }, p || {}));
},
/**
* 员工自选展示名片(self 模式):card_id 必须是自己名下的 contact 卡
* 选择按会员存储;detail 的 header.self.chosen=1 表示已自选
* @param {Object} p { data: { card_id }, success, fail }
*/
enterpriseChooseSelf(p) {
Http.sendJson(Object.assign({ url: CARD_API_URL.ENTERPRISE_CHOOSE_SELF }, p || {}));
},
/**
* 删除企业名片(会员端;生效卡不可删,删除候选卡会清理官方名片引用)
* @param {Object} p { data: { card_id }, success, fail }
*/
enterpriseDelete(p) {
Http.sendJson(Object.assign({ url: CARD_API_URL.ENTERPRISE_DELETE }, p || {}));
}
};

View File

@@ -1543,10 +1543,23 @@
// 微信小程序必须用原生导航栏: web-view 会自动排在导航栏下方,
// 若用 custom + cover-view 自绘头部, 头部会浮在 web-view 上遮住名片顶部
"navigationBarTitleText": "名片分享"
}
},
{
"path": "card/admin/manage",
}
},
{
"path": "card/save-contact",
"style": {
"navigationBarTitleText": "保存到通讯录"
}
},
{
"path": "card/enterprise",
"style": {
"navigationBarTitleText": "企业名片",
"enablePullDownRefresh": true
}
},
{
"path": "card/admin/manage",
"style": {
"navigationBarTitleText": "名片",
"enablePullDownRefresh": true