1+ <script setup lang="ts">
2+ import { NInput , NSpace , NButton , NAlert , NTag } from ' naive-ui'
3+ import { reactive , ref } from ' vue' ;
4+ const input = reactive ({
5+ phone: ' ' ,
6+ password: ' ' ,
7+ verify_code: ' '
8+ })
9+
10+ const err1 = ref ()
11+ const err2 = ref ()
12+
13+ const token = ref ()
14+
15+ async function getVerifyCode() {
16+ const res = await fetch (' https://api.nn.ci/alist/wopan/login' , {
17+ method: ' POST' ,
18+ headers: {
19+ ' Content-Type' : ' application/json'
20+ },
21+ body: JSON .stringify (input )
22+ })
23+ const data = await res .json ()
24+ if (data .error ) {
25+ err1 .value = data .error
26+ return
27+ }
28+ }
29+ async function getToken() {
30+ const res = await fetch (' https://api.nn.ci/alist/wopan/verify_code' , {
31+ method: ' POST' ,
32+ headers: {
33+ ' Content-Type' : ' application/json'
34+ },
35+ body: JSON .stringify (input )
36+ })
37+ const data = await res .json ()
38+ if (data .error ) {
39+ err2 .value = data .error
40+ return
41+ }
42+ token .value = data
43+ }
44+ </script >
45+
46+
47+
48+ <template >
49+ <NSpace size =" large" vertical >
50+
51+ <NInput size =" large" placeholder =" Phone number" v-model:value =" input.phone" ></NInput >
52+ <NInput size =" large" placeholder =" Password" v-model:value =" input.password" type =" password" ></NInput >
53+ <NButton type =" primary" size =" large" block @click =" getVerifyCode" >Get Verify Code</NButton >
54+ <NAlert title =" Error" type =" error" v-if =" err1" >
55+ {{ err1 }}
56+ </NAlert >
57+ <NInput size =" large" placeholder =" Verify code" v-model:value =" input.verify_code" ></NInput >
58+ <NButton type =" primary" size =" large" block @click =" getToken" >Get Token</NButton >
59+ <NAlert title =" Error" type =" error" v-if =" err2" >
60+ {{ err2 }}
61+ </NAlert >
62+ <template v-if =" token " >
63+ <div >refresh_token: <NTag :bordered =" false" type =" info" >{{ token.refresh_token }}</NTag >
64+ </div >
65+ <div >access_token: <NTag :bordered =" false" type =" info" >{{ token.access_token }}</NTag >
66+ </div >
67+ </template >
68+
69+ </NSpace >
70+ </template >
0 commit comments