Skip to content

Commit d209ec3

Browse files
committed
feat:支持链接参数传入
1 parent ff6aaad commit d209ec3

File tree

7 files changed

+84
-15
lines changed

7 files changed

+84
-15
lines changed

src/page/developer/translate.tsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
import { copyText, lineToHump, random } from "@/helper";
2+
import { isEmpty } from "@/helper/validate";
23
import { globalTheme, message } from "@/service/common";
34
import { colors, VariableType, variableTypeList } from "@/service/devoloper";
45
import { NButton, NInput, NInputGroup, NInputGroupLabel, NSelect } from "naive-ui";
5-
import { computed, defineComponent, onActivated, reactive, ref } from "vue";
6+
import { computed, defineComponent, onActivated, onMounted, reactive, ref } from "vue";
7+
import { useRoute } from "vue-router";
68

79
export default defineComponent({
810
props: {},
911
emits: [],
1012
setup: (props, ctx) => {
13+
const route = useRoute();
1114
const form = reactive({
1215
words: "",
1316
type: VariableType.HUMP,
@@ -60,6 +63,16 @@ export default defineComponent({
6063
});
6164
}
6265

66+
onMounted(() => {
67+
const { words, type } = route.query;
68+
if (words) {
69+
form.words = words as string;
70+
}
71+
if (!isEmpty(type)) {
72+
form.type = Number(type);
73+
}
74+
});
75+
6376
onActivated(() => {
6477
iptEl.value?.focus();
6578
});

src/page/qrcode/create.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { NButton, NCard, NCheckbox, NDrawer, NDrawerContent, NIcon, NInput, NUpload, UploadFileInfo } from "naive-ui";
2-
import { defineComponent, onActivated, ref } from "vue";
2+
import { defineComponent, onActivated, onMounted, ref } from "vue";
33
import { awaitLoadImg, awaitNextTick, copyImg, downLoadBase64File, fileToBase64, randomString } from "@/helper";
44
import qrcode from "qrcode";
55
import { DeleteOutlined, UploadFileOutlined, UploadOutlined } from "@vicons/material";
66
import { addLogo, deleteLogo, getLogoList, logoList, logoOpts } from "@/service/qrcode";
77
import { dialog, message } from "@/service/common";
8+
import router from "@/router";
89

910
export default defineComponent({
1011
props: {},
@@ -122,6 +123,13 @@ export default defineComponent({
122123
iptEl.value?.focus();
123124
});
124125

126+
onMounted(() => {
127+
const { query } = router.currentRoute.value;
128+
if (query.text) {
129+
text.value = query.text as string;
130+
}
131+
});
132+
125133
return () => (
126134
<div>
127135
<div class="d-flex align-items-start">

src/page/util/date-timestamp.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
import { copyText } from "@/helper";
22
import { message } from "@/service/common";
33
import { NAlert, NButton, NInput, NInputGroup, NInputGroupLabel, NSelect } from "naive-ui";
4-
import { defineComponent, onActivated, reactive, ref } from "vue";
4+
import { defineComponent, onActivated, onMounted, reactive, ref } from "vue";
55
import { DateType } from "@/service/util";
66
import dayjs from "dayjs";
7+
import { useRoute } from "vue-router";
78

89
export default defineComponent({
910
props: {},
1011
emits: [],
1112
setup: (props, ctx) => {
13+
const route = useRoute();
1214
const form = reactive<{ value: string; type: DateType }>({
1315
value: "",
1416
type: DateType.MS,
@@ -33,6 +35,16 @@ export default defineComponent({
3335
iptEl.value?.focus();
3436
});
3537

38+
onMounted(() => {
39+
const { value, type } = route.query;
40+
if (value) {
41+
form.value = value as string;
42+
}
43+
if (type) {
44+
form.type = type as DateType;
45+
}
46+
});
47+
3648
return () => (
3749
<div>
3850
<div class="d-flex mar-b-5-item">

src/page/util/num-money.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { copyText } from "@/helper";
2+
import router from "@/router";
23
import { message } from "@/service/common";
34
import { digitUppercase } from "@/service/util";
45
import { NAlert, NButton, NInput } from "naive-ui";
5-
import { defineComponent, onActivated, ref } from "vue";
6+
import { defineComponent, onActivated, onMounted, ref } from "vue";
67

78
export default defineComponent({
89
props: {},
@@ -23,6 +24,13 @@ export default defineComponent({
2324
iptEl.value?.focus();
2425
});
2526

27+
onMounted(() => {
28+
const { query } = router.currentRoute.value;
29+
if (query.num) {
30+
num.value = query.num as string;
31+
}
32+
});
33+
2634
return () => (
2735
<div class="d-flex direction-column">
2836
<div class="d-flex mar-b-5-item">

src/page/util/timestamp-date.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
import { copyText } from "@/helper";
22
import { message } from "@/service/common";
33
import { NAlert, NButton, NInput, NInputGroup, NInputGroupLabel, NSelect } from "naive-ui";
4-
import { defineComponent, onActivated, reactive, ref } from "vue";
4+
import { defineComponent, onActivated, onMounted, reactive, ref } from "vue";
55
import { DateType } from "@/service/util";
66
import dayjs from "dayjs";
7+
import { useRoute } from "vue-router";
78

89
export default defineComponent({
910
props: {},
1011
emits: [],
1112
setup: (props, ctx) => {
13+
const route = useRoute();
1214
const form = reactive<{ value: string; type: DateType }>({
1315
value: "",
1416
type: DateType.S,
@@ -28,6 +30,16 @@ export default defineComponent({
2830
iptEl.value?.focus();
2931
});
3032

33+
onMounted(() => {
34+
const { value, type } = route.query;
35+
if (value) {
36+
form.value = value as string;
37+
}
38+
if (type) {
39+
form.type = type as DateType;
40+
}
41+
});
42+
3143
return () => (
3244
<div>
3345
<div class="d-flex mar-b-5-item">

src/page/video/m3u8.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import ajax from "@/helper/ajax";
44
import { dialog, message } from "@/service/common";
55
import { DownloadStatus, downloadStatusList, IM3u8Item, ITsItem } from "@/service/video";
66
import { NAlert, NButton, NCard, NInput, NInputGroup, NInputGroupLabel, NProgress, NTag, NText } from "naive-ui";
7-
import { computed, defineComponent, onActivated, reactive, ref } from "vue";
7+
import { computed, defineComponent, onActivated, onMounted, reactive, ref } from "vue";
88
import { useRoute } from "vue-router";
99

1010
export default defineComponent({
@@ -186,7 +186,9 @@ export default defineComponent({
186186

187187
onActivated(() => {
188188
iptEl.value?.focus();
189+
});
189190

191+
onMounted(() => {
190192
const { url, name } = route.query;
191193
if (url) {
192194
form.url = url as string;

src/page/video/parse.tsx

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,57 @@ import { isUrl } from "@/helper/validate";
33
import { message } from "@/service/common";
44
import { circuits, videoList } from "@/service/video";
55
import { NButton, NInput, NInputGroup, NInputGroupLabel, NSelect, NTooltip } from "naive-ui";
6-
import { defineComponent, onActivated, ref } from "vue";
6+
import { defineComponent, onActivated, onMounted, reactive, ref } from "vue";
7+
import { useRoute } from "vue-router";
78

89
export default defineComponent({
910
props: {},
1011
emits: [],
1112
setup: (props, ctx) => {
12-
const circuit = ref<string>(circuits[0].value);
13-
const url = ref<string>("");
13+
const route = useRoute();
14+
const form = reactive({
15+
circuit: circuits[0].value,
16+
url: "",
17+
});
1418
const iframeSrc = ref<string>("");
1519
const iptEl = ref<HTMLInputElement>();
1620

1721
function handleParse(check = true) {
1822
if (check) {
19-
if (!url.value) {
23+
if (!form.url) {
2024
message.error("请先输入播放地址");
2125
return;
2226
}
23-
if (!isUrl(url.value)) {
27+
if (!isUrl(form.url)) {
2428
message.error("播放地址输入错误");
2529
return;
2630
}
2731
}
28-
iframeSrc.value = circuit.value.replace("__URL__", url.value);
32+
iframeSrc.value = form.circuit.replace("__URL__", form.url);
2933
}
3034

3135
onActivated(() => {
3236
iptEl.value?.focus();
3337
});
3438

39+
onMounted(() => {
40+
const { url, circuit } = route.query;
41+
if (url) {
42+
form.url = url as string;
43+
}
44+
if (circuit) {
45+
form.circuit = circuit as string;
46+
}
47+
});
48+
3549
return () => (
3650
<div>
3751
<div class="mar-b-5-item">
3852
<NInputGroup>
3953
<NInputGroupLabel size="large">播放地址</NInputGroupLabel>
4054
<NInput
4155
size="large"
42-
v-model={[url.value, "value"]}
56+
v-model={[form.url, "value"]}
4357
onKeydown={e => {
4458
if (e.key === "Enter") {
4559
e.preventDefault();
@@ -60,12 +74,12 @@ export default defineComponent({
6074
handleParse(false);
6175
}}
6276
options={circuits}
63-
v-model={[circuit.value, "value"]}
77+
v-model={[form.circuit, "value"]}
6478
/>
6579
</NInputGroup>
6680
</div>
6781
<div class="mar-b-7-item d-flex direction-column">
68-
{url.value ? (
82+
{form.url ? (
6983
<NButton
7084
block
7185
size="large"

0 commit comments

Comments
 (0)