first commit
This commit is contained in:
commit
db5762abd4
687 files changed
+171307
No files matched your search
@@ -0,0 +1,427 @@
|
||||
<script>
|
||||
import "~/assets/styles/HomeReferralPanel.DsgN33ME.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { renderList } from "vue";
|
||||
import { onMounted } from "vue";
|
||||
import { ref } from "vue";
|
||||
import { withCtx } from "vue";
|
||||
import { createCommentVNode } from "vue";
|
||||
import { computed } from "vue";
|
||||
import { createElementBlock } from "vue";
|
||||
import { Fragment } from "vue";
|
||||
import { createElementVNode } from "vue";
|
||||
import { createTextVNode } from "vue";
|
||||
import { unref } from "vue";
|
||||
import { defineComponent } from "vue";
|
||||
import { createVNode } from "vue";
|
||||
import { openBlock } from "vue";
|
||||
import { NuxtLink } from "#components";
|
||||
import { useApi } from "~/lib/auth.js";
|
||||
import { Icon } from "#components";
|
||||
import button from "primevue/button";
|
||||
import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js";
|
||||
import skeleton from "primevue/skeleton";
|
||||
var x = [`aria-busy`],
|
||||
S = {
|
||||
class: `home-card-head`,
|
||||
},
|
||||
C = {
|
||||
id: `home-referral-title`,
|
||||
class: `home-card-title`,
|
||||
},
|
||||
w = {
|
||||
key: 0,
|
||||
class: `referral-body referral-loading`,
|
||||
role: `status`,
|
||||
"aria-label": `正在加载推介数据`,
|
||||
},
|
||||
T = {
|
||||
class: `referral-placeholders`,
|
||||
},
|
||||
E = {
|
||||
key: 1,
|
||||
class: `referral-body referral-empty`,
|
||||
role: `status`,
|
||||
},
|
||||
D = {
|
||||
key: 2,
|
||||
class: `referral-body`,
|
||||
},
|
||||
O = {
|
||||
class: `referral-overview`,
|
||||
},
|
||||
k = {
|
||||
class: `referral-balance`,
|
||||
},
|
||||
A = {
|
||||
key: 0,
|
||||
},
|
||||
j = {
|
||||
key: 0,
|
||||
class: `referral-invitees`,
|
||||
},
|
||||
M = {
|
||||
class: `referral-stats`,
|
||||
},
|
||||
N = {
|
||||
key: 0,
|
||||
},
|
||||
P = {
|
||||
class: `referral-footer`,
|
||||
},
|
||||
F = {
|
||||
key: 3,
|
||||
class: `referral-body referral-empty`,
|
||||
},
|
||||
I = Object.assign(
|
||||
_plugin_vue_export_helper_t(
|
||||
defineComponent({
|
||||
__name: `HomeReferralPanel`,
|
||||
setup(f) {
|
||||
let y = useApi(),
|
||||
I = ref(null),
|
||||
L = ref(!0),
|
||||
R = ref(``),
|
||||
z = !1,
|
||||
B = computed(() => !!I.value?.url),
|
||||
V = computed(() => I.value?.permission === 1),
|
||||
H = computed(() => I.value?.relation_mode === `permanent`),
|
||||
U = computed(() => [
|
||||
{
|
||||
label: `待结算`,
|
||||
value: I.value?.pending_amount,
|
||||
},
|
||||
{
|
||||
label: `已生效`,
|
||||
value: I.value?.active_amount,
|
||||
},
|
||||
{
|
||||
label: `已提现`,
|
||||
value: I.value?.withdrawn_amount,
|
||||
},
|
||||
]);
|
||||
function W(e, t = !0) {
|
||||
if (
|
||||
(typeof e != `number` && typeof e != `string`) ||
|
||||
String(e).trim() === ``
|
||||
)
|
||||
return `—`;
|
||||
let n = Number(e);
|
||||
return !Number.isFinite(n) ||
|
||||
(!t && (!Number.isInteger(n) || n < 0))
|
||||
? `—`
|
||||
: n.toLocaleString(`zh-CN`, {
|
||||
minimumFractionDigits: t ? 2 : 0,
|
||||
maximumFractionDigits: t ? 2 : 0,
|
||||
});
|
||||
}
|
||||
async function G() {
|
||||
if (!z) {
|
||||
((z = !0), (L.value = !0), (R.value = ``));
|
||||
try {
|
||||
let e = (
|
||||
await y.get(`/recommend/promoter`, void 0, !1, {
|
||||
timeoutMs: 1e4,
|
||||
})
|
||||
)?.promoter;
|
||||
if (!e || (!e.url && e.permission !== 0 && e.permission !== 1))
|
||||
throw Error(`暂时无法获取推介数据,请重试。`);
|
||||
I.value = e;
|
||||
} catch (e) {
|
||||
((I.value = null),
|
||||
(R.value =
|
||||
e instanceof Error
|
||||
? e.message
|
||||
: `暂时无法获取推介数据,请重试。`));
|
||||
} finally {
|
||||
((L.value = !1), (z = !1));
|
||||
}
|
||||
}
|
||||
}
|
||||
return (
|
||||
onMounted(G),
|
||||
(n, r) => {
|
||||
let o = Icon,
|
||||
f = NuxtLink,
|
||||
g = skeleton,
|
||||
y = button;
|
||||
return (
|
||||
openBlock(),
|
||||
createElementBlock(
|
||||
`section`,
|
||||
{
|
||||
class: `home-card home-referral`,
|
||||
"aria-labelledby": `home-referral-title`,
|
||||
"aria-busy": unref(L),
|
||||
},
|
||||
[
|
||||
createElementVNode(`div`, S, [
|
||||
createElementVNode(`h2`, C, [
|
||||
createVNode(o, {
|
||||
name: `lucide:gift`,
|
||||
"aria-hidden": `true`,
|
||||
}),
|
||||
(r[0] ||= createTextVNode(`推介计划`, -1)),
|
||||
]),
|
||||
createVNode(
|
||||
f,
|
||||
{
|
||||
to: `/recommend`,
|
||||
class: `home-card-more`,
|
||||
"aria-label": `查看推介计划`,
|
||||
},
|
||||
{
|
||||
default: withCtx(() => [
|
||||
...(r[1] ||= [
|
||||
createElementVNode(
|
||||
`i`,
|
||||
{
|
||||
class: `pi pi-angle-right`,
|
||||
"aria-hidden": `true`,
|
||||
},
|
||||
null,
|
||||
-1,
|
||||
),
|
||||
]),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
),
|
||||
]),
|
||||
unref(L)
|
||||
? (openBlock(),
|
||||
createElementBlock(`div`, w, [
|
||||
createVNode(g, {
|
||||
width: `6rem`,
|
||||
height: `14px`,
|
||||
}),
|
||||
createVNode(g, {
|
||||
width: `11rem`,
|
||||
height: `36px`,
|
||||
}),
|
||||
createElementVNode(`div`, T, [
|
||||
(openBlock(),
|
||||
createElementBlock(
|
||||
Fragment,
|
||||
null,
|
||||
renderList(3, (e) =>
|
||||
createVNode(g, {
|
||||
key: e,
|
||||
height: `48px`,
|
||||
}),
|
||||
),
|
||||
64,
|
||||
)),
|
||||
]),
|
||||
]))
|
||||
: unref(R)
|
||||
? (openBlock(),
|
||||
createElementBlock(`div`, E, [
|
||||
(r[2] ||= createElementVNode(
|
||||
`h3`,
|
||||
null,
|
||||
`推介数据加载失败`,
|
||||
-1,
|
||||
)),
|
||||
createElementVNode(
|
||||
`p`,
|
||||
null,
|
||||
toDisplayString(unref(R)),
|
||||
1,
|
||||
),
|
||||
createVNode(y, {
|
||||
label: `重试`,
|
||||
icon: `pi pi-refresh`,
|
||||
severity: `secondary`,
|
||||
outlined: ``,
|
||||
size: `small`,
|
||||
onClick: G,
|
||||
}),
|
||||
]))
|
||||
: unref(B)
|
||||
? (openBlock(),
|
||||
createElementBlock(`div`, D, [
|
||||
createElementVNode(`dl`, O, [
|
||||
createElementVNode(`div`, k, [
|
||||
(r[3] ||= createElementVNode(
|
||||
`dt`,
|
||||
null,
|
||||
`可提现奖励`,
|
||||
-1,
|
||||
)),
|
||||
createElementVNode(`dd`, null, [
|
||||
W(unref(I)?.withdrawable_amount) === `—`
|
||||
? createCommentVNode(``, !0)
|
||||
: (openBlock(),
|
||||
createElementBlock(`small`, A, `¥`)),
|
||||
createTextVNode(
|
||||
toDisplayString(
|
||||
W(unref(I)?.withdrawable_amount),
|
||||
),
|
||||
1,
|
||||
),
|
||||
]),
|
||||
]),
|
||||
unref(H)
|
||||
? (openBlock(),
|
||||
createElementBlock(`div`, j, [
|
||||
(r[5] ||= createElementVNode(
|
||||
`dt`,
|
||||
null,
|
||||
`邀请人数`,
|
||||
-1,
|
||||
)),
|
||||
createElementVNode(`dd`, null, [
|
||||
createTextVNode(
|
||||
toDisplayString(
|
||||
W(unref(I)?.invitee_count, !1),
|
||||
),
|
||||
1,
|
||||
),
|
||||
(r[4] ||= createElementVNode(
|
||||
`small`,
|
||||
null,
|
||||
`人`,
|
||||
-1,
|
||||
)),
|
||||
]),
|
||||
]))
|
||||
: createCommentVNode(``, !0),
|
||||
]),
|
||||
createElementVNode(`dl`, M, [
|
||||
(openBlock(!0),
|
||||
createElementBlock(
|
||||
Fragment,
|
||||
null,
|
||||
renderList(
|
||||
unref(U),
|
||||
(t) => (
|
||||
openBlock(),
|
||||
createElementBlock(
|
||||
`div`,
|
||||
{
|
||||
key: t.label,
|
||||
class: `referral-stat`,
|
||||
},
|
||||
[
|
||||
createElementVNode(
|
||||
`dt`,
|
||||
null,
|
||||
toDisplayString(t.label),
|
||||
1,
|
||||
),
|
||||
createElementVNode(`dd`, null, [
|
||||
W(t.value) === `—`
|
||||
? createCommentVNode(``, !0)
|
||||
: (openBlock(),
|
||||
createElementBlock(
|
||||
`small`,
|
||||
N,
|
||||
`¥`,
|
||||
)),
|
||||
createTextVNode(
|
||||
toDisplayString(W(t.value)),
|
||||
1,
|
||||
),
|
||||
]),
|
||||
],
|
||||
)
|
||||
),
|
||||
),
|
||||
128,
|
||||
)),
|
||||
]),
|
||||
createElementVNode(`div`, P, [
|
||||
(r[7] ||= createElementVNode(
|
||||
`p`,
|
||||
null,
|
||||
`查看邀请记录与奖励结算进度`,
|
||||
-1,
|
||||
)),
|
||||
createVNode(
|
||||
f,
|
||||
{
|
||||
to: `/recommend`,
|
||||
class: `referral-details`,
|
||||
},
|
||||
{
|
||||
default: withCtx(() => [
|
||||
...(r[6] ||= [
|
||||
createTextVNode(`查看推介明细`, -1),
|
||||
createElementVNode(
|
||||
`i`,
|
||||
{
|
||||
class: `pi pi-angle-right`,
|
||||
"aria-hidden": `true`,
|
||||
},
|
||||
null,
|
||||
-1,
|
||||
),
|
||||
]),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
),
|
||||
]),
|
||||
]))
|
||||
: (openBlock(),
|
||||
createElementBlock(`div`, F, [
|
||||
createElementVNode(
|
||||
`h3`,
|
||||
null,
|
||||
toDisplayString(
|
||||
unref(V)
|
||||
? `尚未开通推介计划`
|
||||
: `暂未开放推介申请`,
|
||||
),
|
||||
1,
|
||||
),
|
||||
createElementVNode(
|
||||
`p`,
|
||||
null,
|
||||
toDisplayString(
|
||||
unref(V)
|
||||
? `开通后获取专属链接,邀请好友。你的邀请人数与推介奖励将在这里展示。`
|
||||
: `目前暂不接受新的推介申请,可前往推介计划查看详情。`,
|
||||
),
|
||||
1,
|
||||
),
|
||||
createVNode(
|
||||
f,
|
||||
{
|
||||
to: `/recommend`,
|
||||
class: `home-button`,
|
||||
},
|
||||
{
|
||||
default: withCtx(() => [
|
||||
createTextVNode(
|
||||
toDisplayString(
|
||||
unref(V)
|
||||
? `了解并开通`
|
||||
: `查看推介计划`,
|
||||
),
|
||||
1,
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
),
|
||||
])),
|
||||
],
|
||||
8,
|
||||
x,
|
||||
)
|
||||
);
|
||||
}
|
||||
);
|
||||
},
|
||||
}),
|
||||
[[`__scopeId`, `data-v-8690c3a5`]],
|
||||
),
|
||||
{
|
||||
__name: `HomeReferralPanel`,
|
||||
},
|
||||
);
|
||||
export {};
|
||||
export default I;
|
||||
</script>
|
||||
Reference in new issue
Block a user