1.导税平板app tax-guidance静态界面搭建
parent
6af6550179
commit
69ae3af441
@ -0,0 +1,3 @@
|
||||
unpackage
|
||||
uni_modules
|
||||
*.log*
|
||||
@ -0,0 +1,53 @@
|
||||
<template>
|
||||
<div class="login-head">
|
||||
<div class="head-title">
|
||||
<image class="head-icon" src="/static/head-icon.png" />
|
||||
<span>国家税务总局绍兴市越城税务局办税服务厅</span>
|
||||
</div>
|
||||
<div class="head-time">
|
||||
<span>2025-08-11 星期一 10:25:25</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.login-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-top: $statusbar-height;
|
||||
|
||||
.head-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 6vh;
|
||||
|
||||
.head-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-left: 1vw;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #fff;
|
||||
font-size: 3vh;
|
||||
font-weight: 800;
|
||||
margin-left: 1vw;
|
||||
}
|
||||
}
|
||||
|
||||
.head-time {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 6vh;
|
||||
|
||||
span {
|
||||
color: #fff;
|
||||
font-size: 2vh;
|
||||
margin-right: 1vw;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
\G€Äùq/·tò
|
||||
O@Èèû
|
||||
@ -0,0 +1,50 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICGjCCAaGgAwIBAgIIShhpn519jNAwCgYIKoZIzj0EAwMwUzELMAkGA1UEBhMC
|
||||
Q04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UECwwKSHVhd2VpIENCRzEeMBwGA1UE
|
||||
AwwVSHVhd2VpIENCRyBSb290IENBIEcyMB4XDTIwMDMxNjAzMDQzOVoXDTQ5MDMx
|
||||
NjAzMDQzOVowUzELMAkGA1UEBhMCQ04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UE
|
||||
CwwKSHVhd2VpIENCRzEeMBwGA1UEAwwVSHVhd2VpIENCRyBSb290IENBIEcyMHYw
|
||||
EAYHKoZIzj0CAQYFK4EEACIDYgAEWidkGnDSOw3/HE2y2GHl+fpWBIa5S+IlnNrs
|
||||
GUvwC1I2QWvtqCHWmwFlFK95zKXiM8s9yV3VVXh7ivN8ZJO3SC5N1TCrvB2lpHMB
|
||||
wcz4DA0kgHCMm/wDec6kOHx1xvCRo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
|
||||
AQH/BAUwAwEB/zAdBgNVHQ4EFgQUo45a9Vq8cYwqaiVyfkiS4pLcIAAwCgYIKoZI
|
||||
zj0EAwMDZwAwZAIwMypeB7P0IbY7c6gpWcClhRznOJFj8uavrNu2PIoz9KIqr3jn
|
||||
BlBHJs0myI7ntYpEAjBbm8eDMZY5zq5iMZUC6H7UzYSix4Uy1YlsLVV738PtKP9h
|
||||
FTjgDHctXJlC5L7+ZDY=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDATCCAoigAwIBAgIIXmuDXbWpOB8wCgYIKoZIzj0EAwMwUzELMAkGA1UEBhMC
|
||||
Q04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UECwwKSHVhd2VpIENCRzEeMBwGA1UE
|
||||
AwwVSHVhd2VpIENCRyBSb290IENBIEcyMB4XDTIwMDcwOTAyMDQyNFoXDTMwMDcw
|
||||
NzAyMDQyNFowYjELMAkGA1UEBgwCQ04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UE
|
||||
CwwKSHVhd2VpIENCRzEtMCsGA1UEAwwkSHVhd2VpIENCRyBEZXZlbG9wZXIgUmVs
|
||||
YXRpb25zIENBIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE65LdoIZh1hlpZ2gP
|
||||
bJ6gPhHsvYSRe22KETgdqeVeYnrbRHI9wsPT6RGYS+pU4mPl6wxzgDMqN6SY/BoZ
|
||||
luhkE1PzaHoPoNIWIq0O33hpyKyyYwAacIUEjYurkw1E9r9no4IBGDCCARQwHwYD
|
||||
VR0jBBgwFoAUo45a9Vq8cYwqaiVyfkiS4pLcIAAwHQYDVR0OBBYEFNtek7Ij6NDk
|
||||
/nF6Zumkc0dbf/NeMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEGCCsGAQUFBwIBFiVo
|
||||
dHRwOi8vY3BraS1jYXdlYi5odWF3ZWkuY29tL2Nwa2kvY3BzMBIGA1UdEwEB/wQI
|
||||
MAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMGYGA1UdHwRfMF0wW6BZoFeGVWh0dHA6
|
||||
Ly9jcGtpLWNhd2ViLmh1YXdlaS5jb20vY3BraS9zZXJ2bGV0L2NybEZpbGVEb3du
|
||||
LmNybD9jZXJ0eXBlPTEwJi9yb290X2cyX2NybC5jcmwwCgYIKoZIzj0EAwMDZwAw
|
||||
ZAIwWO1X5q2MdfpR1Q237GpUHGbL1C13rGyFg2p3AYo44FpZ2/A9ss0wOHKM4KDl
|
||||
ZPqdAjBLkf8NPZy7KVog98+iCTLq35DJ2ZVxkCxknA9YhiHVyXf4HPm4JlT7rW7o
|
||||
Q+FzM3c=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICwTCCAkegAwIBAgIOY9gjdDaxS1xO6VZ0psAwCgYIKoZIzj0EAwMwYjELMAkG
|
||||
A1UEBgwCQ04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UECwwKSHVhd2VpIENCRzEt
|
||||
MCsGA1UEAwwkSHVhd2VpIENCRyBEZXZlbG9wZXIgUmVsYXRpb25zIENBIEcyMB4X
|
||||
DTI1MDgyODA2MzMzNloXDTI1MDkxMTA2MzMzNlowcTELMAkGA1UEBhMCQ04xEDAO
|
||||
BgNVBAoMB3Vua25vd24xHDAaBgNVBAsMEzE3NjIzNjk1MDMyMjk5MzU0ODkxMjAw
|
||||
BgNVBAMMKXVua25vd24oMTc2MjM2OTUwMzIyOTkzNTQ4OSlcLERldmVsb3BtZW50
|
||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh3qjdFfw5h+5PNGE2ERhOm6XQjY5
|
||||
wNzeroxly6fWdT8QbPhNRgHG55mxB6sRId/1KsqJw81luM16K+o1MROfgKOB0TCB
|
||||
zjAdBgNVHQ4EFgQU1+JKCTgMOqiNyX+wiBJkyUfuzZ4wDAYDVR0TAQH/BAIwADAf
|
||||
BgNVHSMEGDAWgBTbXpOyI+jQ5P5xembppHNHW3/zXjBZBgNVHR8EUjBQME6gTKBK
|
||||
hkhodHRwOi8vaDVob3N0aW5nLWRyY24uZGJhbmtjZG4uY24vY2NoNS9jcmwvaGRy
|
||||
Y2FnMi9IdWF3ZWlDQkdIRFJHMmNybC5jcmwwDgYDVR0PAQH/BAQDAgeAMBMGA1Ud
|
||||
JQQMMAoGCCsGAQUFBwMDMAoGCCqGSM49BAMDA2gAMGUCMQCLCq+G0+2XPfVIy6JK
|
||||
yFbRPvGIi04HVOQ2/3wRRVJGJNxGHn6p9pAEYsdIH6/IksYCMEod/X4jzgXEvZ1v
|
||||
m/hCqxGLF6umQ9bCRWeZTJaWZ2GLNW20ylZ5Ck5RJjrNHejnVg==
|
||||
-----END CERTIFICATE-----
|
||||
@ -0,0 +1,9 @@
|
||||
-----BEGIN NEW CERTIFICATE REQUEST-----
|
||||
MIIBNzCB3wIBADBNMQkwBwYDVQQGEwAxCTAHBgNVBAgTADEJMAcGA1UEBxMAMQkw
|
||||
BwYDVQQKEwAxCTAHBgNVBAsTADEUMBIGA1UEAwwLeml5dW5fZGVidWcwWTATBgcq
|
||||
hkjOPQIBBggqhkjOPQMBBwNCAASHeqN0V/DmH7k80YTYRGE6bpdCNjnA3N6ujGXL
|
||||
p9Z1PxBs+E1GAcbnmbEHqxEh3/UqyonDzWW4zXor6jUxE5+AoDAwLgYJKoZIhvcN
|
||||
AQkOMSEwHzAdBgNVHQ4EFgQU1+JKCTgMOqiNyX+wiBJkyUfuzZ4wCgYIKoZIzj0E
|
||||
AwIDRwAwRAIgUHw85yWsSeybwHVAb0NH5B3Kknkw+Ds1UCZBGVvAH+cCIFk2ouND
|
||||
fq33TSwBew6tV46aEOzeCj3NdiDQslddzr4a
|
||||
-----END NEW CERTIFICATE REQUEST-----
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<script>
|
||||
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
|
||||
CSS.supports('top: constant(a)'))
|
||||
document.write(
|
||||
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
|
||||
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||
</script>
|
||||
<title></title>
|
||||
<!--preload-links-->
|
||||
<!--app-context-->
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"><!--app-html--></div>
|
||||
<script type="module" src="/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,22 @@
|
||||
import App from './App'
|
||||
|
||||
// #ifndef VUE3
|
||||
import Vue from 'vue'
|
||||
import './uni.promisify.adaptor'
|
||||
Vue.config.productionTip = false
|
||||
App.mpType = 'app'
|
||||
const app = new Vue({
|
||||
...App
|
||||
})
|
||||
app.$mount()
|
||||
// #endif
|
||||
|
||||
// #ifdef VUE3
|
||||
import { createSSRApp } from 'vue'
|
||||
export function createApp() {
|
||||
const app = createSSRApp(App)
|
||||
return {
|
||||
app
|
||||
}
|
||||
}
|
||||
// #endif
|
||||
@ -0,0 +1,88 @@
|
||||
{
|
||||
"name": "tax-guidance",
|
||||
"appid": "__UNI__A083CF1",
|
||||
"description": "",
|
||||
"versionName": "1.0.0",
|
||||
"versionCode": "100",
|
||||
"transformPx": false,
|
||||
/* 5+App特有相关 */
|
||||
"app-plus": {
|
||||
"usingComponents": true,
|
||||
"nvueStyleCompiler": "uni-app",
|
||||
"compilerVersion": 3,
|
||||
"splashscreen": {
|
||||
"alwaysShowBeforeRender": true,
|
||||
"waiting": true,
|
||||
"autoclose": true,
|
||||
"delay": 0
|
||||
},
|
||||
/* 模块配置 */
|
||||
"modules": {},
|
||||
/* 应用发布信息 */
|
||||
"distribute": {
|
||||
/* android打包配置 */
|
||||
"android": {
|
||||
"permissions": [
|
||||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||
]
|
||||
},
|
||||
/* ios打包配置 */
|
||||
"ios": {},
|
||||
/* SDK配置 */
|
||||
"sdkConfigs": {}
|
||||
}
|
||||
},
|
||||
/* 快应用特有相关 */
|
||||
"quickapp": {},
|
||||
/* 小程序特有相关 */
|
||||
"mp-weixin": {
|
||||
"appid": "",
|
||||
"setting": {
|
||||
"urlCheck": false
|
||||
},
|
||||
"usingComponents": true
|
||||
},
|
||||
"mp-alipay": {
|
||||
"usingComponents": true
|
||||
},
|
||||
"mp-baidu": {
|
||||
"usingComponents": true
|
||||
},
|
||||
"mp-toutiao": {
|
||||
"usingComponents": true
|
||||
},
|
||||
"uniStatistics": {
|
||||
"enable": false
|
||||
},
|
||||
"vueVersion": "3",
|
||||
"app-harmony": {
|
||||
"distribute": {
|
||||
"bundleName": "com.ziyun.taxguidance",
|
||||
"signingConfigs": {
|
||||
"default": {
|
||||
"certpath": "ziyun_debug.cer",
|
||||
"keyAlias": "ziyun_debug",
|
||||
"keyPassword": "0000001C0A434C6EAD0E542DD56B04458C2B66CC2F31DBD5DAE971DCDC08E1E50F36DF37A9288699FBE4B97B",
|
||||
"profile": "紫云智能导税调试Debug.p7b",
|
||||
"signAlg": "SHA256withECDSA",
|
||||
"storeFile": "ziyun_debug.p12",
|
||||
"storePassword": "0000001C7E1A6AAD38035864C0D38355D93B30E5998D5D1674A5F09736672B97B02B5F8FE2566518D6E02BA6"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,247 @@
|
||||
<template>
|
||||
<view class="page-container tn-gradient-bg__cool-5">
|
||||
<cheader></cheader>
|
||||
<div class="index-body">
|
||||
<div class="body-title">
|
||||
<span class="title-mian">紫云纳税服务综合管理系统</span>
|
||||
<span class="title-child">智能导税</span>
|
||||
</div>
|
||||
<div class="body-content">
|
||||
<div class="emp-content">
|
||||
<image src="/static/header_no.png" class="emp-image"></image>
|
||||
<p class="emp-name emp-p">{{'欧阳永叔'}}</p>
|
||||
<p class="emp-id emp-p">工号:{{'123456789'}}</p>
|
||||
<tn-button width="180px" height="50px" @click="loginOutAction">退 出</tn-button>
|
||||
</div>
|
||||
<div style="width: 2vw;"></div>
|
||||
<div class="btn-content">
|
||||
<div class="btn-row1">
|
||||
<div class="row1-item1 col-center" @click="goToTable">
|
||||
<uni-icons type="staff-filled" size="60" color="#fff"></uni-icons>
|
||||
<p class="btn-p">今日进厅</p>
|
||||
</div>
|
||||
<div class="row1-item2 col-center">
|
||||
<uni-icons type="notification-filled" size="60" color="#fff"></uni-icons>
|
||||
<p class="btn-p">今日预约</p>
|
||||
</div>
|
||||
<div class="row1-item3 col-center">
|
||||
<uni-icons type="list" size="60" color="#fff"></uni-icons>
|
||||
<p class="btn-p">票号管理</p>
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 2vh;"></div>
|
||||
<div class="btn-row2">
|
||||
<div class="row2-item1">
|
||||
<div class="row2-item1-top row-center">
|
||||
<uni-icons type="email-filled" size="60" color="#fff"></uni-icons>
|
||||
<p class="btn-p">信息推送</p>
|
||||
</div>
|
||||
<div style="height: 2vh;"></div>
|
||||
<div class="row2-item1-bottom row-center">
|
||||
<uni-icons type="download-filled" size="60" color="#fff"></uni-icons>
|
||||
<p class="btn-p">台账登记</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row2-item2">
|
||||
<div class="row2-item2-left col-center">
|
||||
<uni-icons type="checkbox-filled" size="60" color="#fff"></uni-icons>
|
||||
<p class="btn-p">注册码验证</p>
|
||||
</div>
|
||||
<div style="width: 2vh;"></div>
|
||||
<div class="row2-item2-center col-center">
|
||||
<uni-icons type="auth-filled" size="60" color="#fff"></uni-icons>
|
||||
<p class="btn-p">网格员</p>
|
||||
</div>
|
||||
<div style="width: 2vh;"></div>
|
||||
<div class="row2-item2-right col-center">
|
||||
<uni-icons type="home-filled" size="60" color="#fff"></uni-icons>
|
||||
<p class="btn-p">一户式</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import cheader from '@/components/header.vue'
|
||||
|
||||
let goToTable = ()=>{
|
||||
uni.navigateTo({
|
||||
url:'/pages/table/table'
|
||||
})
|
||||
}
|
||||
|
||||
let loginOutAction = ()=>{
|
||||
uni.navigateTo({
|
||||
url:'/pages/login/login'
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.index-body {
|
||||
height: 90vh;
|
||||
width: 100vw;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.body-title {
|
||||
height: 6vh;
|
||||
margin-bottom: 2vh;
|
||||
|
||||
.title-mian {
|
||||
background: linear-gradient(to bottom, #DEDEDE 10%, #fff 90%);
|
||||
/* 2. 将背景裁剪成文字形状 (需要-webkit-前缀) */
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
/* 3. 将文字颜色设为透明,显示出渐变背景 */
|
||||
color: transparent;
|
||||
/* 为了效果明显,可以设置一些字体样式 */
|
||||
font-size: 36px;
|
||||
}
|
||||
|
||||
.title-child {
|
||||
background: linear-gradient(to bottom, #483D8B 10%, #8A2BE2 90%);
|
||||
/* 2. 将背景裁剪成文字形状 (需要-webkit-前缀) */
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
/* 3. 将文字颜色设为透明,显示出渐变背景 */
|
||||
color: transparent;
|
||||
/* 为了效果明显,可以设置一些字体样式 */
|
||||
font-size: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
.body-content {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
||||
.emp-content {
|
||||
height: 60vh;
|
||||
width: 20vw;
|
||||
background-color: #ffffff50;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 30px;
|
||||
|
||||
.emp-image{
|
||||
height: 30vh;
|
||||
padding: 4px;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.emp-p{
|
||||
color: #fff;
|
||||
font-size: 20px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.emp-name{
|
||||
margin-top: 20px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.emp-id{
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-content {
|
||||
|
||||
.btn-row1 {
|
||||
height: 22vh;
|
||||
width: 60vw;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
|
||||
.row1-item1 {
|
||||
background-color: #990066;
|
||||
margin-right: 2vh;
|
||||
}
|
||||
|
||||
.row1-item2 {
|
||||
background-color: #993366;
|
||||
margin-right: 2vh;
|
||||
}
|
||||
|
||||
.row1-item3 {
|
||||
background-color: #996666;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-row2 {
|
||||
height: 36vh;
|
||||
width: 60vw;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
|
||||
.row2-item1 {
|
||||
margin-right: 2vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.row2-item1-top{
|
||||
flex: 1;
|
||||
background-color: #33cc66;
|
||||
}
|
||||
|
||||
.row2-item1-bottom{
|
||||
flex: 1;
|
||||
background-color: #cc9966;
|
||||
}
|
||||
}
|
||||
|
||||
.row2-item2 {
|
||||
grid-column: span 2;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
||||
.row2-item2-left{
|
||||
flex: 1;
|
||||
background-color: #99ffcc;
|
||||
}
|
||||
|
||||
.row2-item2-center{
|
||||
flex: 1;
|
||||
background-color: #cccccc;
|
||||
}
|
||||
|
||||
.row2-item2-right{
|
||||
flex: 1;
|
||||
background-color: #cc99cc;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.col-center{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.row-center{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.btn-p{
|
||||
font-size: 22px;
|
||||
font-weight: 800;
|
||||
color: #fff;
|
||||
margin: 8px;
|
||||
text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,74 @@
|
||||
<template>
|
||||
<div class="page-container tn-gradient-bg__cool-5">
|
||||
<cheader></cheader>
|
||||
<div class="login-body">
|
||||
<div class="login-form tn-grey_shadow">
|
||||
<p>账号登录</p>
|
||||
<tn-input v-model="username" placeholder="请输入用户名">
|
||||
<template #prefix>
|
||||
<uni-icons type="contact" size="18" color="#ccc"></uni-icons>
|
||||
</template>
|
||||
</tn-input>
|
||||
<div class="divider"></div>
|
||||
<tn-input v-model="password" type="password" placeholder="请输入密码">
|
||||
<template #prefix>
|
||||
<uni-icons type="locked-filled" size="18" color="#ccc"></uni-icons>
|
||||
</template>
|
||||
</tn-input>
|
||||
<div class="divider"></div>
|
||||
<tn-button width="250px" height="36px" @click="loginAction">登 录</tn-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import cheader from '@/components/header.vue'
|
||||
import { ref } from 'vue'
|
||||
|
||||
let username = ref('')
|
||||
let password = ref('')
|
||||
|
||||
let loginAction = ()=>{
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
|
||||
.login-body {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 90vh;
|
||||
|
||||
.login-form {
|
||||
height: 40vh;
|
||||
width: 30vw;
|
||||
padding: 15px 40px;
|
||||
background-color: #fff;
|
||||
border-radius: 5px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
p {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 20px;
|
||||
background: linear-gradient(to right, #1874CD 70%, #0099ff );
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.divider{
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@ -0,0 +1,13 @@
|
||||
uni.addInterceptor({
|
||||
returnValue (res) {
|
||||
if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
|
||||
return res;
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
res.then((res) => {
|
||||
if (!res) return resolve(res)
|
||||
return res[0] ? reject(res[0]) : resolve(res[1])
|
||||
});
|
||||
});
|
||||
},
|
||||
});
|
||||
Loading…
Reference in New Issue