Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
zyjj2025
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qd01
zyjj2025
Commits
8c588b34
Commit
8c588b34
authored
Jan 19, 2025
by
qd01
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
1cde9018
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
155 additions
and
50 deletions
+155
-50
prose.ts
app/api/prose.ts
+0
-8
route.global.ts
app/middleware/route.global.ts
+1
-1
login.vue
app/pages/login.vue
+3
-1
index.vue
app/pages/product/index.vue
+17
-2
index.vue
app/pages/sqhz/index.vue
+50
-9
singIn.vue
app/pages/user/singIn.vue
+21
-2
logo.png
app/static/common/logo.png
+0
-0
a2.png
app/static/pages/product/a2.png
+0
-0
b1.png
app/static/pages/product/b1.png
+0
-0
b2.png
app/static/pages/product/b2.png
+0
-0
b3.png
app/static/pages/product/b3.png
+0
-0
b4.png
app/static/pages/product/b4.png
+0
-0
b5.png
app/static/pages/product/b5.png
+0
-0
prose.ts
app/stores/prose.ts
+28
-14
nuxt.config.ts
nuxt.config.ts
+35
-13
No files found.
app/api/prose.ts
deleted
100644 → 0
View file @
1cde9018
import
{
getHttp
}
from
'
./http
'
export
async
function
getProse
()
{
const
http
=
getHttp
()
return
await
http
(
'
/api/prose
'
,
{
method
:
'
GET
'
,
})
}
app/middleware/route.global.ts
View file @
8c588b34
...
@@ -2,7 +2,7 @@ import type { RouteLocationNormalized } from 'vue-router'
...
@@ -2,7 +2,7 @@ import type { RouteLocationNormalized } from 'vue-router'
import
useKeepalive
from
'
~/composables/keepalive
'
import
useKeepalive
from
'
~/composables/keepalive
'
export
default
defineNuxtRouteMiddleware
((
to
:
RouteLocationNormalized
)
=>
{
export
default
defineNuxtRouteMiddleware
((
to
:
RouteLocationNormalized
)
=>
{
useKeepalive
().
addRoute
(
to
)
//
useKeepalive().addRoute(to)
useHead
({
useHead
({
title
:
to
.
meta
.
title
,
title
:
to
.
meta
.
title
,
})
})
...
...
app/pages/login.vue
View file @
8c588b34
...
@@ -40,7 +40,9 @@ import { validatePhone, validatePassword } from '@/utils/validate'
...
@@ -40,7 +40,9 @@ import { validatePhone, validatePassword } from '@/utils/validate'
import
{
encrypt
}
from
'
@/utils/encrypt
'
import
{
encrypt
}
from
'
@/utils/encrypt
'
import
{
post
}
from
'
@/utils/request
'
import
{
post
}
from
'
@/utils/request
'
import
{
useDebounceFn
}
from
'
@vueuse/core
'
import
{
useDebounceFn
}
from
'
@vueuse/core
'
import
{
useProseStore
}
from
'
@/stores/prose
'
const
proseStore
=
useProseStore
()
proseStore
.
clearProse
()
definePageMeta
({
definePageMeta
({
layout
:
'
empty
'
,
layout
:
'
empty
'
,
})
})
...
...
app/pages/product/index.vue
View file @
8c588b34
...
@@ -7,10 +7,15 @@ import png3 from '~/static/pages/product/3.png'
...
@@ -7,10 +7,15 @@ import png3 from '~/static/pages/product/3.png'
import
png4
from
'
~/static/pages/product/4.png
'
import
png4
from
'
~/static/pages/product/4.png
'
import
png5
from
'
~/static/pages/product/5.png
'
import
png5
from
'
~/static/pages/product/5.png
'
import
pnga1
from
'
~/static/pages/product/a1.png
'
import
pnga1
from
'
~/static/pages/product/a1.png
'
import
pnga2
from
'
~/static/pages/product/a
1
.png
'
import
pnga2
from
'
~/static/pages/product/a
2
.png
'
import
pnga3
from
'
~/static/pages/product/a3.png
'
import
pnga3
from
'
~/static/pages/product/a3.png
'
import
pnga4
from
'
~/static/pages/product/a4.png
'
import
pnga4
from
'
~/static/pages/product/a4.png
'
import
pnga5
from
'
~/static/pages/product/a5.png
'
import
pnga5
from
'
~/static/pages/product/a5.png
'
import
pngb1
from
'
~/static/pages/product/b1.png
'
import
pngb2
from
'
~/static/pages/product/b2.png
'
import
pngb3
from
'
~/static/pages/product/b3.png
'
import
pngb4
from
'
~/static/pages/product/b4.png
'
import
pngb5
from
'
~/static/pages/product/b5.png
'
const
pngArr
=
[
const
pngArr
=
[
png1
,
png1
,
png2
,
png2
,
...
@@ -25,6 +30,13 @@ const pngArr1 = [
...
@@ -25,6 +30,13 @@ const pngArr1 = [
pnga4
,
pnga4
,
pnga5
pnga5
]
]
const
pngArr2
=
[
pngb1
,
pngb2
,
pngb3
,
pngb4
,
pngb5
]
definePageMeta
({
definePageMeta
({
layout
:
'
main
'
,
layout
:
'
main
'
,
title
:
'
产品信息
'
,
title
:
'
产品信息
'
,
...
@@ -70,6 +82,9 @@ const handleJump = (item, index) => {
...
@@ -70,6 +82,9 @@ const handleJump = (item, index) => {
const
preview
=
(
index
)
=>
{
const
preview
=
(
index
)
=>
{
ImagePreview
(
pngArr1
[
index
])
ImagePreview
(
pngArr1
[
index
])
}
}
const
preview1
=
(
index
)
=>
{
ImagePreview
(
pngArr2
[
index
])
}
onMounted
(
fetchData
)
onMounted
(
fetchData
)
</
script
>
</
script
>
...
@@ -88,7 +103,7 @@ onMounted(fetchData)
...
@@ -88,7 +103,7 @@ onMounted(fetchData)
</div>
</div>
</transition>
</transition>
<div
class=
"btngroup"
>
<div
class=
"btngroup"
>
<div
v-if=
"!(userInfo.q0
<
item
.
a2
)"
class=
"btn btn1"
>
查看营业执照
</div>
<div
@
click=
"preview1(index)"
v-if=
"!(userInfo.q0
<
item
.
a2
)"
class=
"btn btn1"
>
查看营业执照
</div>
<div
class=
"btn"
@
click=
"handleJump(item, index)"
>
查看详情
</div>
<div
class=
"btn"
@
click=
"handleJump(item, index)"
>
查看详情
</div>
<div
@
click=
"preview(index)"
v-if=
"!(userInfo.q0
<
item
.
a2
)"
class=
"btn btn1"
>
查看授权委托书
</div>
<div
@
click=
"preview(index)"
v-if=
"!(userInfo.q0
<
item
.
a2
)"
class=
"btn btn1"
>
查看授权委托书
</div>
</div>
</div>
...
...
app/pages/sqhz/index.vue
View file @
8c588b34
...
@@ -11,6 +11,10 @@ const getUserInfo = async () => {
...
@@ -11,6 +11,10 @@ const getUserInfo = async () => {
const
res
=
await
get
(
"
/system/user/
"
)
const
res
=
await
get
(
"
/system/user/
"
)
extend2
.
value
=
res
.
extend2
||
1
extend2
.
value
=
res
.
extend2
||
1
userinfo
.
value
=
res
userinfo
.
value
=
res
if
(
res
.
data
!=
'
true
'
)
{
showFailToast
(
'
请先进行实名认证
'
)
window
.
history
.
back
()
}
if
(
extend2
.
value
==
4
)
{
if
(
extend2
.
value
==
4
)
{
get
(
"
/yw2/getByUser
"
,
{}).
then
(
res
=>
{
get
(
"
/yw2/getByUser
"
,
{}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
...
@@ -75,8 +79,11 @@ function searchCredit1() {
...
@@ -75,8 +79,11 @@ function searchCredit1() {
<
template
>
<
template
>
<div
class=
"container"
>
<div
class=
"container"
>
<div
class=
"extend21"
v-if=
"extend2 == 1 || extend2 == 2"
>
<div
class=
"extend21"
v-if=
"extend2 == 1 || extend2 == 2"
>
<div
class=
"title"
>
查询我的个人
</div>
<div
class=
"warpbox"
>
<div
class=
"title"
>
征信信用分报告
</div>
<img
src=
"/static/common/logo.png"
alt=
""
>
<div
class=
"title"
>
全国个人征信
</div>
<div
class=
"title"
style=
"margin-bottom: 20px;"
>
信用分查询中心
</div>
</div>
<var-form
scroll-to-error=
"start"
style=
"color: #fff;width: calc(100% - 80px);margin: 0 auto;"
>
<var-form
scroll-to-error=
"start"
style=
"color: #fff;width: calc(100% - 80px);margin: 0 auto;"
>
<var-space
direction=
"column"
:size=
"[8, 0]"
>
<var-space
direction=
"column"
:size=
"[8, 0]"
>
<var-input
v-model=
"userinfo.nickName"
readonly
placeholder=
"申请人姓名"
/>
<var-input
v-model=
"userinfo.nickName"
readonly
placeholder=
"申请人姓名"
/>
...
@@ -84,8 +91,11 @@ function searchCredit1() {
...
@@ -84,8 +91,11 @@ function searchCredit1() {
<var-input
v-model=
"userinfo.q0"
readonly
placeholder=
"当前信用分"
/>
<var-input
v-model=
"userinfo.q0"
readonly
placeholder=
"当前信用分"
/>
</var-space>
</var-space>
</var-form>
</var-form>
<div
class=
"tips"
v-if=
"extend2 == 2"
>
您好,您的个人征信报告信用分正在查询中,请24小时后再来查看您的个人信用分
</div>
<div
class=
"tips1"
v-if=
"extend2 == 2"
>
正在查询中...
</div>
<var-button
class=
"btn"
size=
"large"
block
type=
"primary"
@
click=
"searchCredit"
>
{{
extend2
==
1
?
'
点击查询
'
:
<div
class=
"tips"
style=
"margin-top: 20px;"
v-if=
"extend2 == 2"
>
请24小时后再来查看个人征信信用分
</div>
<div
class=
"tips"
v-if=
"extend2 == 2"
>
根据个人信用分来申请化债额度,最低50万起
</div>
<var-button
class=
"btn"
v-if=
"extend2 == 1"
size=
"large"
block
type=
"primary"
@
click=
"searchCredit"
>
{{
extend2
==
1
?
'
点击查询
'
:
'
查询中
'
}}
'
查询中
'
}}
</var-button>
</var-button>
</div>
</div>
...
@@ -164,23 +174,54 @@ function searchCredit1() {
...
@@ -164,23 +174,54 @@ function searchCredit1() {
min-height
:
100vh
;
min-height
:
100vh
;
width
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding
:
10px
;
.extend21
{
.extend21
{
height
:
calc
(
100vh
-
52px
);
height
:
calc
(
100vh
-
52px
);
display
:
flex
;
display
:
flex
;
width
:
100%
;
width
:
100%
;
flex-direction
:
column
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
.tips
{
.warpbox
{
margin
:
20px
40px
0
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
background
:
#1a5482
;
color
:
#fff
;
width
:
100%
;
padding-top
:
50px
;
img
{
width
:
50px
;
margin-bottom
:
20px
;
}
}
.title
{
.title
{
font-size
:
28px
;
font-size
:
28px
;
font-weight
:
700
;
}
}
.tips1
{
font-size
:
28px
;
font-weight
:
700
;
color
:
#656565
;
}
.tips
{
color
:
#656565
;
font-size
:
14px
;
font-weight
:
700
;
}
}
.tips1
{
margin
:
20px
40px
0
;
font-size
:
26px
;
font-weight
:
700
;
}
}
}
.extend22
{
.extend22
{
...
...
app/pages/user/singIn.vue
View file @
8c588b34
...
@@ -52,5 +52,24 @@ const signIn = async () => {
...
@@ -52,5 +52,24 @@ const signIn = async () => {
getSignInInfo
()
getSignInInfo
()
</
script
>
</
script
>
<
template
>
<
template
>
<singIn
@
change=
"signIn"
type=
"sign"
lang=
"zh"
:checkinDays=
"checkinDays"
:already=
"signInDates"
/>
<div
class=
"container"
>
<singIn
@
change=
"signIn"
type=
"sign"
:isIntegral=
'true'
:integral=
"2"
lang=
"zh"
:checkinDays=
"checkinDays"
:already=
"signInDates"
/>
<div
class=
"tips"
>
信用分:用于申请化债,扶贫所用
</div>
<div
class=
"tips"
>
生活补贴:可直接提现到本人银行卡直接使用
</div>
<div
class=
"tips"
>
每天签到获得2信用分,获得5000生活补贴
</div>
<div
class=
"tips"
>
签到满10天获得50信用分
</div>
<div
class=
"tips"
>
签到满20天获得200信用分
</div>
<div
class=
"tips"
>
签到满30天获得一份中国东方资产管理有限公司的不良资产债权500元扶贫产品(每日可以提现)永久收益
</div>
</div>
</
template
>
</
template
>
<
style
lang=
"scss"
scoped
>
.container
{
font-family
:
pingfang
;
.tips
{
font-size
:
14px
;
color
:
red
;
text-align
:
center
;
margin-top
:
10px
;
}
}
</
style
>
\ No newline at end of file
app/static/common/logo.png
0 → 100644
View file @
8c588b34
13.6 KB
app/static/pages/product/a2.png
0 → 100644
View file @
8c588b34
198 KB
app/static/pages/product/b1.png
0 → 100644
View file @
8c588b34
390 KB
app/static/pages/product/b2.png
0 → 100644
View file @
8c588b34
394 KB
app/static/pages/product/b3.png
0 → 100644
View file @
8c588b34
403 KB
app/static/pages/product/b4.png
0 → 100644
View file @
8c588b34
397 KB
app/static/pages/product/b5.png
0 → 100644
View file @
8c588b34
405 KB
app/stores/prose.ts
View file @
8c588b34
import
{
defineStore
}
from
'
pinia
'
import
{
defineStore
}
from
'
pinia
'
;
import
{
getProse
}
from
'
~/api/prose
'
export
const
useProseStore
=
defineStore
(
export
const
useProseStore
=
defineStore
(
'
prose
'
,
'
prose
'
,
()
=>
{
()
=>
{
const
prose
=
ref
<
string
>
(
''
)
const
prose
=
ref
<
string
>
(
''
)
;
function
initProse
(
val
:
string
)
{
function
initProse
(
val
:
string
)
{
if
(
!
prose
.
value
)
{
prose
.
value
=
val
;
// 初始化用户数据
prose
.
value
=
''
if
(
process
.
client
)
{
localStorage
.
setItem
(
'
userData
'
,
val
);
// 存储到 localStorage
}
}
prose
.
value
=
val
}
}
function
clearProse
()
{
function
clearProse
()
{
prose
.
value
=
''
prose
.
value
=
''
;
if
(
process
.
client
)
{
localStorage
.
removeItem
(
'
userData
'
);
// 清空 localStorage
}
}
function
getProseData
()
{
if
(
process
.
client
)
{
return
prose
.
value
||
JSON
.
parse
(
localStorage
.
getItem
(
'
userData
'
)
||
'
{}
'
);
// 从 localStorage 获取用户数据
}
return
{};
// 服务器端返回空对象
}
}
async
function
fetchProse
()
{
const
loadProseFromStorage
=
()
=>
{
const
res
=
await
getProse
()
if
(
process
.
client
)
{
initProse
(
res
.
result
)
const
storedData
=
localStorage
.
getItem
(
'
userData
'
);
if
(
storedData
)
{
prose
.
value
=
storedData
;
// 初始化
}
}
}
};
loadProseFromStorage
();
// 加载数据
return
{
return
{
prose
,
prose
,
initProse
,
initProse
,
clearProse
,
clearProse
,
fetchProse
,
getProseData
,
}
}
;
},
},
)
)
;
\ No newline at end of file
nuxt.config.ts
View file @
8c588b34
...
@@ -88,19 +88,18 @@ export default defineNuxtConfig({
...
@@ -88,19 +88,18 @@ export default defineNuxtConfig({
],
],
},
},
},
},
vite
:
{
vite
:
{
//
plugins: [
plugins
:
[
//
obfuscatorPlugin({
obfuscatorPlugin
({
//
include: ["src/path/to/file.js", "path/anyjs/**/*.js", /foo.js$/],
include
:
[
"
src/path/to/file.js
"
,
"
path/anyjs/**/*.js
"
,
/foo.js$/
],
//
exclude: [/node_modules/],
exclude
:
[
/node_modules/
],
//
apply: "build",
apply
:
"
build
"
,
//
debugger: true,
debugger
:
true
,
//
options: {
options
:
{
//
debugProtection: true,
debugProtection
:
true
,
//
},
},
//
}),
}),
//
],
],
build
:
{
build
:
{
target
:
"
esnext
"
,
target
:
"
esnext
"
,
},
},
...
@@ -112,7 +111,30 @@ export default defineNuxtConfig({
...
@@ -112,7 +111,30 @@ export default defineNuxtConfig({
experimental
:
{
experimental
:
{
typedPages
:
true
,
typedPages
:
true
,
},
},
generate
:
{
// 在生成的文件名中包含哈希值
subFolders
:
false
,
dir
:
'
dist
'
,
routes
:
[
'
/
'
],
fallback
:
true
,
interval
:
0
,
concurrency
:
500
,
devtools
:
false
,
quiet
:
false
,
analyze
:
false
,
watch
:
false
,
cache
:
{
maxAge
:
1000
*
60
*
60
*
24
*
30
// 30 days
},
http2
:
{
push
:
true
,
cache
:
{
maxAge
:
1000
*
60
*
60
*
24
*
30
// 30 days
}
},
// 添加版本号或哈希值到文件名
filenameHashing
:
true
},
devtools
:
{
devtools
:
{
enabled
:
true
,
enabled
:
true
,
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment