feat:更新 README.md,修正短路径描述并添加运营商审核临时地址;在 main.js 中添加审核模式和默认好友链接数据;调整样式文件中头像大小和样式。

This commit is contained in:
Jafeng 2026-06-17 11:03:24 +08:00
parent 6ca0770bf6
commit 732e0d7a4a
3 changed files with 59 additions and 11 deletions

View File

@ -1,6 +1,8 @@
# YKT Friend Bridge H5
短信好友邀请中转页。发布包名为 `sms.zip`,默认短路径为 `/sms/{recordId}`
短信好友邀请中转页。发布包名为 `sms.zip`,默认短路径为 `/sms/{id}`
正式短信链接由后端生成随机短码,路径形态为 `/sms/{shortCode}`,例如 `/sms/K8q2Z`
## Local Dev
@ -20,6 +22,14 @@ api_url=http://localhost:8080
http://localhost:5174/sms/{recordId}
```
运营商审核临时写死地址:
```text
https://ykt.youcan365.com/sms/7du4g
```
当前 `src/main.js` 开启 `REVIEW_MODE`,页面不请求后端接口,直接使用审核用好友链接数据。
本地服务端默认读取:
```text

View File

@ -13,6 +13,26 @@
friendMeta: document.getElementById("friendMeta"),
};
const DEFAULT_AVATAR = "/sms/assets/default-avatar.png";
const REVIEW_MODE = true;
const REVIEW_RECORD_ID = "7du4g";
const REVIEW_FRIEND_LINK_DATA = {
id: REVIEW_RECORD_ID,
corpId: "wwe3fb2faa52cf9dfb",
friendUserId: "huangjiafeng",
friendName: "黄医生",
corpName: "患者精益管理服务平台",
title: "添加好友",
actionText: "去 加 好 友",
hintText: "点击下方按钮,添加企业微信好友",
path: "pages/team/friend",
query: "corpId=wwe3fb2faa52cf9dfb&userid=huangjiafeng",
scheme: "weixin://dl/business/?t=IwNKzYOXnRo",
status: "success",
createTime: 1780540926600,
updateTime: 1780540927442,
};
let scheme = "";
function normalizeText(value) {
@ -46,15 +66,20 @@
setStatus("");
}
function setAvatar(src, friendName, imageEl, fallbackEl) {
function setAvatar(src, friendName, imageEl, fallbackEl, options = {}) {
const avatar = normalizeText(src);
const fallbackAvatar = options.fallbackAvatar === false ? "" : DEFAULT_AVATAR;
if (fallbackEl === elements.primaryAvatarFallback) {
elements.primaryInitial.textContent = friendName.slice(0, 1) || "医";
}
fallbackEl.classList.remove("has-image");
imageEl.removeAttribute("src");
fallbackEl.hidden = false;
if (!avatar) return;
if (!avatar && !fallbackAvatar) {
fallbackEl.hidden = true;
return;
}
imageEl.onload = function () {
fallbackEl.classList.add("has-image");
};
@ -62,7 +87,7 @@
fallbackEl.classList.remove("has-image");
imageEl.removeAttribute("src");
};
imageEl.src = avatar;
imageEl.src = avatar || fallbackAvatar;
}
function fillPage(data) {
@ -83,7 +108,9 @@
elements.hintText.textContent = normalizeText(data.hintText) || "点击下方按钮,添加企业微信好友";
elements.openButton.textContent = normalizeText(data.actionText) || "去 加 好 友";
setAvatar(friendAvatar || avatarList[0], friendName, elements.primaryAvatar, elements.primaryAvatarFallback);
setAvatar(secondaryAvatar, "患", elements.secondaryAvatar, elements.secondaryAvatarFallback);
setAvatar(secondaryAvatar, "患", elements.secondaryAvatar, elements.secondaryAvatarFallback, {
fallbackAvatar: false,
});
elements.openButton.disabled = false;
scheme = normalizeText(data.scheme);
setStatus("");
@ -96,6 +123,11 @@
return;
}
if (REVIEW_MODE && recordId === REVIEW_RECORD_ID) {
fillPage(REVIEW_FRIEND_LINK_DATA);
return;
}
try {
const apiBase = getApiBase();
if (!apiBase) {

View File

@ -155,20 +155,26 @@ body {
.avatar-large {
left: 0;
top: 0;
width: 36px;
height: 36px;
border-radius: 2px;
width: 72px;
height: 72px;
border-radius: 6px;
background: #f4f5f7;
}
.avatar-small {
right: 0;
bottom: 0;
width: 36px;
height: 36px;
border-radius: 2px;
width: 28px;
height: 28px;
border: 2px solid #fff;
border-radius: 50%;
background: linear-gradient(160deg, #d5e8ff, #48a0ff);
}
.avatar-small[hidden] {
display: none;
}
.doctor-name {
margin: 20px 0 0;
color: #1d2129;