bug修改
This commit is contained in:
parent
6aa126bc81
commit
bbe50bdd72
@ -54,6 +54,7 @@ const posterVisible = ref(false);
|
||||
const archiveBindPending = ref(false);
|
||||
const bindingTeamId = ref("");
|
||||
const bindCorpName = ref("");
|
||||
const bindingTeam = ref(null);
|
||||
|
||||
const projectNameText = computed(() => {
|
||||
const projects = Array.isArray(issue.value?.projectSnapshot) ? issue.value.projectSnapshot : [];
|
||||
@ -70,7 +71,7 @@ async function ensureLogin() {
|
||||
if (!account.value) await login();
|
||||
if (!account.value) {
|
||||
tip.value = "请先登录后再领取体验券";
|
||||
uni.navigateTo({ url: "/pages/login/login" });
|
||||
await openTeamLogin();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -107,7 +108,7 @@ async function getIssueCustomer({ force = false } = {}) {
|
||||
issueCustomer.value = customer;
|
||||
bindCorpName.value = detail?.corpName || issue.value?.corpName || "";
|
||||
const teamIds = Array.isArray(customer?.teamId) ? customer.teamId : [customer?.teamId];
|
||||
bindingTeamId.value = teamIds.find(Boolean) || "";
|
||||
bindingTeamId.value = issue.value?.teamId || teamIds.find(Boolean) || "";
|
||||
return customer;
|
||||
} catch (e) {
|
||||
console.warn("getCustomerByCustomerId failed", e);
|
||||
@ -140,26 +141,52 @@ function buildTeamLoginUrl() {
|
||||
return `/pages/login/login?${query}`;
|
||||
}
|
||||
|
||||
async function ensurePhoneAuthorized() {
|
||||
if (account.value?.mobile) return true;
|
||||
async function getBindingTeam() {
|
||||
if (!corpId.value || !bindingTeamId.value) return null;
|
||||
if (bindingTeam.value) return bindingTeam.value;
|
||||
try {
|
||||
const res = await api(
|
||||
"getTeamData",
|
||||
{ corpId: corpId.value, teamId: bindingTeamId.value, withCorpName: true },
|
||||
false
|
||||
);
|
||||
const data = res?.data || null;
|
||||
bindingTeam.value = data;
|
||||
bindCorpName.value = data?.corpName || data?.corp_name || bindCorpName.value;
|
||||
return data;
|
||||
} catch (e) {
|
||||
console.warn("getTeamData failed", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async function openTeamLogin() {
|
||||
const customer = await getIssueCustomer();
|
||||
if (!customer || !bindingTeamId.value) {
|
||||
tip.value = "体验券发放档案缺少所属团队,暂无法领取";
|
||||
return false;
|
||||
}
|
||||
const team = await getBindingTeam();
|
||||
set("invite-team-info", {
|
||||
corpId: corpId.value,
|
||||
teamId: bindingTeamId.value,
|
||||
corpName: bindCorpName.value || issue.value?.corpName || "",
|
||||
teamName: issue.value?.teamName || "",
|
||||
avatars: [],
|
||||
teamName: team?.name || team?.teamName || "",
|
||||
avatars: Array.isArray(team?.memberList)
|
||||
? team.memberList.map((member) => member?.avatar || "").filter(Boolean)
|
||||
: [],
|
||||
});
|
||||
tip.value = "请先授权手机号后再领取体验券";
|
||||
uni.navigateTo({ url: buildTeamLoginUrl() });
|
||||
return false;
|
||||
}
|
||||
|
||||
async function ensurePhoneAuthorized() {
|
||||
if (account.value?.mobile) return true;
|
||||
|
||||
tip.value = "请先授权手机号后再领取体验券";
|
||||
return openTeamLogin();
|
||||
}
|
||||
|
||||
async function ensureTeamAdded() {
|
||||
const customer = await getIssueCustomer();
|
||||
if (!customer || !bindingTeamId.value) {
|
||||
@ -308,10 +335,10 @@ async function promptClaim() {
|
||||
async function bootstrap() {
|
||||
loading("加载中...");
|
||||
try {
|
||||
const okLogin = await ensureLogin();
|
||||
if (!okLogin) return;
|
||||
const okDetail = await loadIssueDetail();
|
||||
if (!okDetail) return;
|
||||
const okLogin = await ensureLogin();
|
||||
if (!okLogin) return;
|
||||
const phoneAuthorized = await ensurePhoneAuthorized();
|
||||
if (!phoneAuthorized) return;
|
||||
const teamAdded = await ensureTeamAdded();
|
||||
|
||||
@ -134,7 +134,7 @@ async function bindTeam() {
|
||||
await syncExternalUserRelation();
|
||||
const res1 = await api('getWxAppCustomerCount', { miniAppId: account.value.openid, corpId: team.value.corpId, teamId: team.value.teamId });
|
||||
if (redirectUrl.value) {
|
||||
attempToPage(redirectUrl.value)
|
||||
await attempToPage(redirectUrl.value)
|
||||
} else if (res1 && res1.data > 0) {
|
||||
toHome();
|
||||
} else {
|
||||
@ -149,7 +149,7 @@ async function getPhoneNumber(e) {
|
||||
if (!res) return;
|
||||
}
|
||||
if (team.value) {
|
||||
bindTeam()
|
||||
await bindTeam()
|
||||
} else if (redirectUrl.value) {
|
||||
await attempToPage(redirectUrl.value);
|
||||
} else {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user