From 9b845f15323bd8434503b14bf5bc93e99f212a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89?= <814457906@qq.com> Date: Wed, 16 Jul 2025 10:14:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 17 + api/addexam/index.js | 17 + api/baseurl.js | 4 + api/examlist/index.js | 8 + api/login/index.js | 10 + api/register/index.js | 10 + api/request.js | 53 +++ api/user/index.js | 12 + components/signature/signature.vue | 52 +++ components/v-sign/utils.js | 15 + components/v-sign/v-sign-action.vue | 162 ++++++++ components/v-sign/v-sign-pen.vue | 211 ++++++++++ components/v-sign/v-sign.vue | 238 +++++++++++ homepage.png | Bin 0 -> 9520 bytes index.html | 20 + main.js | 24 ++ manifest.json | 72 ++++ package-lock.json | 28 ++ package.json | 15 + pages.json | 73 ++++ pages/addexam/addexam.scss | 379 +++++++++++++++++ pages/addexam/addexam.vue | 503 +++++++++++++++++++++++ pages/examlist/examlist.vue | 175 ++++++++ pages/forgotPassword/forgotPassword.scss | 74 ++++ pages/forgotPassword/forgotPassword.vue | 158 +++++++ pages/login/login.scss | 89 ++++ pages/login/login.vue | 116 ++++++ pages/register/register.scss | 162 ++++++++ pages/register/register.vue | 247 +++++++++++ pages/user/user.vue | 240 +++++++++++ static/autograph.png | Bin 0 -> 1050 bytes static/homepage.png | Bin 0 -> 37686 bytes static/homepagew.png | Bin 0 -> 1610 bytes static/homepagews.png | Bin 0 -> 1610 bytes static/jinbi.png | Bin 0 -> 1396 bytes static/shezhi.png | Bin 0 -> 1858 bytes static/user2.png | Bin 0 -> 3853 bytes static/users.png | Bin 0 -> 1942 bytes static/userw.png | Bin 0 -> 1942 bytes uni.promisify.adaptor.js | 13 + uni.scss | 77 ++++ 41 files changed, 3274 insertions(+) create mode 100644 App.vue create mode 100644 api/addexam/index.js create mode 100644 api/baseurl.js create mode 100644 api/examlist/index.js create mode 100644 api/login/index.js create mode 100644 api/register/index.js create mode 100644 api/request.js create mode 100644 api/user/index.js create mode 100644 components/signature/signature.vue create mode 100644 components/v-sign/utils.js create mode 100644 components/v-sign/v-sign-action.vue create mode 100644 components/v-sign/v-sign-pen.vue create mode 100644 components/v-sign/v-sign.vue create mode 100644 homepage.png create mode 100644 index.html create mode 100644 main.js create mode 100644 manifest.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pages.json create mode 100644 pages/addexam/addexam.scss create mode 100644 pages/addexam/addexam.vue create mode 100644 pages/examlist/examlist.vue create mode 100644 pages/forgotPassword/forgotPassword.scss create mode 100644 pages/forgotPassword/forgotPassword.vue create mode 100644 pages/login/login.scss create mode 100644 pages/login/login.vue create mode 100644 pages/register/register.scss create mode 100644 pages/register/register.vue create mode 100644 pages/user/user.vue create mode 100644 static/autograph.png create mode 100644 static/homepage.png create mode 100644 static/homepagew.png create mode 100644 static/homepagews.png create mode 100644 static/jinbi.png create mode 100644 static/shezhi.png create mode 100644 static/user2.png create mode 100644 static/users.png create mode 100644 static/userw.png create mode 100644 uni.promisify.adaptor.js create mode 100644 uni.scss diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..a2ee554 --- /dev/null +++ b/App.vue @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/api/addexam/index.js b/api/addexam/index.js new file mode 100644 index 0000000..5fe6557 --- /dev/null +++ b/api/addexam/index.js @@ -0,0 +1,17 @@ +import request from "../request.js" + +export function getExamList() { + return request({ + url: `/exam/api/exam/exam/getExamList?examType=2&userId=${uni.getStorageSync('examh5user').id}`, + method: 'get', + }) +} + + +export function save(data) { + return request({ + url: `/exam/api/exam/registration/save`, + method: 'post', + data + }) +} \ No newline at end of file diff --git a/api/baseurl.js b/api/baseurl.js new file mode 100644 index 0000000..dd60519 --- /dev/null +++ b/api/baseurl.js @@ -0,0 +1,4 @@ +var baseurl = "http://8.131.93.145:54012"; + + +export default baseurl diff --git a/api/examlist/index.js b/api/examlist/index.js new file mode 100644 index 0000000..e332577 --- /dev/null +++ b/api/examlist/index.js @@ -0,0 +1,8 @@ +import request from "../request.js" + +export function getRegExamList() { + return request({ + url: `/exam/api/exam/registration/getRegExamList?userId=${uni.getStorageSync('examh5user').id}`, + method: 'get', + }) +} \ No newline at end of file diff --git a/api/login/index.js b/api/login/index.js new file mode 100644 index 0000000..ba396a4 --- /dev/null +++ b/api/login/index.js @@ -0,0 +1,10 @@ +import request from "../request.js" + +//注册 +export function login(data) { + return request({ + url: `/exam/api/sys/user/login`, + method: 'post', + data + }) +} \ No newline at end of file diff --git a/api/register/index.js b/api/register/index.js new file mode 100644 index 0000000..0338b73 --- /dev/null +++ b/api/register/index.js @@ -0,0 +1,10 @@ +import request from "../request.js" + +//注册 +export function reg(data) { + return request({ + url: `/exam/api/sys/user/reg`, + method: 'post', + data + }) +} \ No newline at end of file diff --git a/api/request.js b/api/request.js new file mode 100644 index 0000000..88db997 --- /dev/null +++ b/api/request.js @@ -0,0 +1,53 @@ +import baseurl from './baseurl.js' + +var request = function(config) { + return new Promise((resolve, rejected) => { + uni.showLoading({ + title: '' + }); + uni.request({ + url: baseurl + config.url, + data: config.data, + method: config.method, + timeout: 10000, + header: { + ...config.header, + token: uni.getStorageSync('examh5token') + }, + success(res) { + uni.hideLoading(); + if (res.data.code == 0) { + resolve(res.data) + } else if (res.data.code == 401 || res.data.code == 10010002 || res.data.code == + 90010001 || res.data.code == 90010002 || res.data.code == 90010005) { + uni.showModal({ + title: '提示', + content: res.data.msg, + showCancel: false, + success: function(res) { + if (res.confirm) { + uni.clearStorageSync(); + uni.reLaunch({ + url: "/pages/login/login" + }) + } + } + }); + } else { + uni.showModal({ + title: '提示', + showCancel: false, + content: res.data.msg, + success: function(res) {} + }); + } + }, + fail(err) { + uni.hideLoading(); + rejected(err) + } + }) + }) +} + +export default request \ No newline at end of file diff --git a/api/user/index.js b/api/user/index.js new file mode 100644 index 0000000..5690fa2 --- /dev/null +++ b/api/user/index.js @@ -0,0 +1,12 @@ +import request from "../request.js" + +export function info(data) { + return request({ + url: `/exam/api/sys/user/info`, + method: 'post', + header: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + data + }) +} \ No newline at end of file diff --git a/components/signature/signature.vue b/components/signature/signature.vue new file mode 100644 index 0000000..5a97667 --- /dev/null +++ b/components/signature/signature.vue @@ -0,0 +1,52 @@ + + + + diff --git a/components/v-sign/utils.js b/components/v-sign/utils.js new file mode 100644 index 0000000..a5a9ab7 --- /dev/null +++ b/components/v-sign/utils.js @@ -0,0 +1,15 @@ +/** + * 判断是否未数值 + * @param {Object} val + */ +export function isNumber(val) { + return !isNaN(Number(val)) +} + +/** + * 处理大小单位 + * @param {Object} val + */ +export function formatSize(val) { + return isNumber(val) ? `${val}rpx` : val +} diff --git a/components/v-sign/v-sign-action.vue b/components/v-sign/v-sign-action.vue new file mode 100644 index 0000000..65d11d1 --- /dev/null +++ b/components/v-sign/v-sign-action.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/components/v-sign/v-sign-pen.vue b/components/v-sign/v-sign-pen.vue new file mode 100644 index 0000000..9c26a66 --- /dev/null +++ b/components/v-sign/v-sign-pen.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/components/v-sign/v-sign.vue b/components/v-sign/v-sign.vue new file mode 100644 index 0000000..afb3020 --- /dev/null +++ b/components/v-sign/v-sign.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/homepage.png b/homepage.png new file mode 100644 index 0000000000000000000000000000000000000000..9b806da760966ba69e03eff672cdf94242650740 GIT binary patch literal 9520 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..c3ff205 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + diff --git a/main.js b/main.js new file mode 100644 index 0000000..6f0124c --- /dev/null +++ b/main.js @@ -0,0 +1,24 @@ +import App from './App' + +// #ifndef VUE3 +import Vue from 'vue' +import uView from "uview-ui"; +Vue.use(uView); +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 \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..f4bfbde --- /dev/null +++ b/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "exam-h5", + "appid" : "__UNI__254C48E", + "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" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* 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" : "2" +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..d6804c7 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,28 @@ +{ + "name": "exam-h5", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "exam-h5", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "uview-ui": "^1.8.8" + } + }, + "node_modules/uview-ui": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-1.8.8.tgz", + "integrity": "sha512-Osal3yzXiHor0In9OPTZuXTaqTbDglMZ9RGK/MPYDoQQs+y0hrBCUD0Xp5T70C8i2lLu2X6Z11zJhmsQWMR7Jg==" + } + }, + "dependencies": { + "uview-ui": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-1.8.8.tgz", + "integrity": "sha512-Osal3yzXiHor0In9OPTZuXTaqTbDglMZ9RGK/MPYDoQQs+y0hrBCUD0Xp5T70C8i2lLu2X6Z11zJhmsQWMR7Jg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..7bf5054 --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "exam-h5", + "version": "1.0.0", + "description": "", + "main": "main.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "uview-ui": "^1.8.8" + } +} diff --git a/pages.json b/pages.json new file mode 100644 index 0000000..97e272d --- /dev/null +++ b/pages.json @@ -0,0 +1,73 @@ +{ + "easycom": { + "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" + }, + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path": "pages/login/login", + "style": { + "navigationBarTitleText": "登录", + "enablePullDownRefresh": false + } + }, { + "path": "pages/examlist/examlist", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "onReachBottomDistance": 40, //距离底部多远时触发 单位为px + "enablePullDownRefresh": true //设置参数为true + } + }, { + "path": "pages/user/user", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "enablePullDownRefresh": false + } + }, { + "path": "pages/register/register", + "style": { + "navigationBarTitleText": "注册账号", + "enablePullDownRefresh": false + } + }, { + "path": "pages/forgotPassword/forgotPassword", + "style": { + "navigationBarTitleText": "忘记密码", + "enablePullDownRefresh": false + } + }, { + "path": "pages/addexam/addexam", + "style": { + "navigationBarTitleText": "新增考试", + "enablePullDownRefresh": false + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "white", + "navigationBarTitleText": "", + "navigationBarBackgroundColor": "#4C7BC9", + "backgroundColor": "#4C7BC9" + }, + "uniIdRouter": {}, + "tabBar": { + "color": "#7A7E83", + "selectedColor": "#435950", + "borderStyle": "black", + "backgroundColor": "#ffffff", + "list": [{ + "pagePath": "pages/examlist/examlist", + "iconPath": "static/homepagew.png", + "selectedIconPath": "static/homepagews.png", + "text": "首页" + }, + { + "pagePath": "pages/user/user", + "iconPath": "static/userw.png", + "selectedIconPath": "static/users.png", + "text": "我的" + } + ] + } +} \ No newline at end of file diff --git a/pages/addexam/addexam.scss b/pages/addexam/addexam.scss new file mode 100644 index 0000000..09c8005 --- /dev/null +++ b/pages/addexam/addexam.scss @@ -0,0 +1,379 @@ +.app { + font-size: 34rpx; + padding-top: 10rpx; + height: 100%; + background: #FFFFFF; + padding-bottom: 200rpx; + + .title { + height: 100rpx; + line-height: 100rpx; + font-size: 34rpx; + margin: 0px auto; + width: 100%; + font-weight: 600; + text-align: center; + } + + .mask { + .Agreement { + width: 100%; + background-color: #fff; + text-align: center; + height: 1000rpx; + position: absolute; + top: 5%; + width: 94%; + left: 3%; + font-size: 30rpx; + + .scroll-Y { + width: 98%; + margin: 0 auto; + height: 830rpx; + overflow-y: scroll; + text-align: left; + text-indent: 2em; + } + + .cancel { + height: 70rpx; + line-height: 70rpx; + font-size: 32rpx; + background-color: #F4F5F7; + position: absolute; + border-top: 1rpx solid #000000; + bottom: 0; + right: 0; + width: 50%; + color: #000000; + } + + .determine { + height: 70rpx; + line-height: 70rpx; + font-size: 32rpx; + width: 50%; + color: #F4F5F7; + background: #4C7BC9; + position: absolute; + bottom: 0; + left: 0; + } + } + } + + .addressitem { + width: 97%; + border-bottom: 1rpx solid #D8D4D4; + margin-left: 3%; + height: 100%; + + .leftaddress { + width: 15%; + height: 100%; + display: flex; + display: inline-block; + } + + .addition { + color: #666666; + display: inline-block; + line-height: 50rpx; + font-size: 28rpx; + } + } + + .money { + font-size: 32rpx; + color: #D43953; + position: absolute; + right: 5%; + top: 15%; + } + + .user { + width: 100%; + padding: 10rpx; + line-height: 93rpx; + margin-bottom: 10rpx; + + .timeyear{ + .bottomtext{ + -webkit-overflow-scrolling: touch; + width: 96%; + margin: 0 auto; + .items{ + display: flex; + justify-content:flex-start; + flex-wrap: wrap; + text-align: center; + .timeitem{ + width: 21%; + margin: 0 2% 20rpx; + height: 86rpx; + border-radius: 5rpx; + font-size: 28rpx; + line-height: 86rpx; + border: 2rpx solid #DADADA; + } + .timeitemtap{ + width: 21%; + margin: 0 2% 20rpx; + height: 86rpx; + border: 2rpx solid #F44B2F; + border-radius: 5rpx; + font-size: 28rpx; + color: #F44B2F; + line-height: 86rpx; + } + } + } + .toptext{ + -webkit-overflow-scrolling: touch; + padding-top: 10rpx; + display: flex; + justify-content:space-around; + height: 50rpx; + color: #000000; + line-height: 27rpx; + margin-bottom: 30rpx; + text-align: center; + .Soonerorlater{ + width: 200rpx; + font-size: 36rpx; + height: 50rpx; + } + .Soonerorlaterclass{ + font-size: 36rpx; + color: #F44B2F; + width: 200rpx; + height: 50rpx; + } + view:nth-child(2){ + width: 4rpx; + height: 27rpx; + background: #C5C3C3; + border-radius: 2rpx; + } + } + } + + .item { + width: 97%; + border-bottom: 1rpx solid #D8D4D4; + margin-left: 3%; + + .addition { + color: #666666; + line-height: 30rpx; + font-size: 28rpx; + } + } + } + + .remarks { + width: 94%; + margin: 10rpx auto; + padding: 3%; + font-size: 34rpx; + height: 96rpx; + background: #FFFFFF; + border-radius: 20rpx; + margin-top: 20rpx; + position: relative; + + .span { + display: inline-block; + width: 20%; + // overflow: hidden; + // text-overflow: ellipsis; + // white-space: nowrap; + position: absolute; + top:50%; + transform: translateY(-50%); + } + .input-placeholder{ + color: #C5C3C3; + font-size: 30rpx; + } + input { + position: absolute; + top: 50%; + left: 23%; + width: 77%; + transform: translateY(-50%); + } + } + + .priceback { + width: 90%; + background: #FFFFFF; + height: 100rpx; + margin: 0 auto; + + .queren { + width: 100%; + height: 90rpx; + background: #4C7BC9; + border-radius: 26rpx; + margin: 105rpx 0 0 15rpx; + line-height: 90rpx; + text-align: center; + color: #ffffff; + } + } + + .radio-content { + margin: 50rpx auto; + width: 70%; + text-align: center; + font-size: 28rpx; + position: relative; + + .agreement { + position: absolute; + top: 50%; + left: 20%; + transform: translateY(-50%); + color: #878987; + } + + .radio-right { + height: 100rpx; + width: 100rpx; + + .radio { + display: inline-block; + width: 35rpx; + height: 35rpx; + border-radius: 70%; + border: 2rpx solid #178ffb; + position: absolute; + top: 50%; + left: 5%; + transform: translateY(-50%); + + .radio-active { + width: 16rpx; + height: 16rpx; + border-radius: 50%; + background-color: #178ffb; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + // margin: 0 auto; + } + } + } + } + + .Consumablespackage .money { + top: 8%; + } + /* 耗材包 */ + .Consumablespackage { + width: 94%; + margin: 10rpx auto; + padding: 3% 0 3% 3%; + font-size: 34rpx; + background: #FFFFFF; + border-radius: 20rpx; + margin-top: 20rpx; + position: relative; + padding-bottom: 40rpx; + ::v-deep .u-checkbox__label{ + width: 100% !important; + } + .detail { + width: 100%; + line-height: 100rpx; + // padding: 20rpx 0 0 40rpx; + position: relative; + .itemConsumabletitle{ + width:55%; + position: absolute; + top:50%; + transform: translateY(-50%); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: inline-block; + font-size: 28rpx; + } + /deep/ .u-checkbox{ + margin: 40rpx 0 0; + position: relative; + } + span{ + width: 100%; + display: inline-block; + font-size: 28rpx; + color: #D43953; + text-align: right; + position: absolute; + right:5%; + top:50%; + transform: translateY(-50%); + } + } + } + + /* 套餐 */ + .Package { + width: 97%; + height: 500rpx; + font-size: 34rpx; + background: #FFFFFF; + border-radius: 20rpx; + margin: 20rpx auto 40rpx; + position: relative; + .uppicture { + border: 1rpx dashed #818181; + width: 90%; + height: 400rpx; + margin: 0 auto; + position: relative; + + image { + width: 100%; + height: 100%; + } + + span { + font-size: 35rpx; + color: #969394; + } + } + + .checkboxs{ + margin-top: 30rpx; + ::v-deep .u-checkbox{ + padding-right: 40rpx; + } + } + .detail { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + line-height: 31rpx; + font-size: 32rpx; + color: #666666; + line-height: 31rpx; + position: absolute; + left: 10%; + top: 60%; + width: 90%; + } + } + + .message { + width: 94%; + background: white; + border-radius: 20rpx; + margin: 0 auto; + text-align: center; + line-height: 96rpx; + } + } \ No newline at end of file diff --git a/pages/addexam/addexam.vue b/pages/addexam/addexam.vue new file mode 100644 index 0000000..23cb116 --- /dev/null +++ b/pages/addexam/addexam.vue @@ -0,0 +1,503 @@ + + + \ No newline at end of file diff --git a/pages/examlist/examlist.vue b/pages/examlist/examlist.vue new file mode 100644 index 0000000..629821b --- /dev/null +++ b/pages/examlist/examlist.vue @@ -0,0 +1,175 @@ + + + + + \ No newline at end of file diff --git a/pages/forgotPassword/forgotPassword.scss b/pages/forgotPassword/forgotPassword.scss new file mode 100644 index 0000000..f930172 --- /dev/null +++ b/pages/forgotPassword/forgotPassword.scss @@ -0,0 +1,74 @@ + .app { + height: calc(100vh - 44px); + padding: 20rpx 0; + + .item { + font-size: 34rpx; + margin: 0 auto 20rpx; + width: 94%; + height: 100rpx; + line-height: 100rpx; + background-color: #fff; + box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03); + border-radius: 20rpx; + position: relative; + + .lefttext { + position: absolute; + top: 50%; + transform: translateY(-50%); + left: 3%; + } + + .righttext { + position: absolute; + top: 50%; + transform: translateY(-50%); + left: 18%; + height: 100rpx; + } + + .lefttext, + .righttext { + ::v-deep .uni-input-input { + font-size: 34rpx; + } + + ::v-deep .uni-input-wrapper { + height: 100rpx; + line-height: 100rpx; + } + + ::v-deep .uni-input-placeholder { + line-height: 100rpx; + font-size: 34rpx; + font-weight: 400; + color: #C3C1C1; + } + } + + .obtaincode { + text-align: center; + font-size: 36rpx; + color: #4C7BC9; + line-height: 100rpx; + position: absolute; + right: 5%; + top: 0%; + } + } + + .loginbtn { + width: 80%; + height: 100rpx; + text-align: center; + line-height: 100rpx; + background: #4C7BC9; + border-radius: 51rpx; + font-size: 41rpx; + color: #FFFFFF; + position: absolute; + top: 60%; + left: 10%; + } + } \ No newline at end of file diff --git a/pages/forgotPassword/forgotPassword.vue b/pages/forgotPassword/forgotPassword.vue new file mode 100644 index 0000000..2d2ba20 --- /dev/null +++ b/pages/forgotPassword/forgotPassword.vue @@ -0,0 +1,158 @@ + + + + \ No newline at end of file diff --git a/pages/login/login.scss b/pages/login/login.scss new file mode 100644 index 0000000..5228cf4 --- /dev/null +++ b/pages/login/login.scss @@ -0,0 +1,89 @@ + .app { + font-family: DengXian; + color: #C3C1C1; + font-weight: 400; + height:calc(100vh - 44px); + + .switch { + text-align: center; + height: 100rpx; + color: #46ABD7; + position: absolute; + top: 70%; + } + + .loginbtn { + width: 80%; + height: 100rpx; + text-align: center; + line-height: 100rpx; + background: #4C7BC9; + border-radius: 51rpx; + font-size: 41rpx; + color: #FFFFFF; + position: absolute; + top: 57%; + left: 10%; + } + + .loginphone { + background-color: #fff; + width: 80%; + height: 120rpx; + position: absolute; + left: 10%; + top: 23%; + + input { + font-size: 45rpx; + color: #000000; + } + + ::v-deep .uni-input-placeholder { + padding-left: 40rpx; + font-size: 41rpx; + font-weight: 400; + color: #C3C1C1; + } + + .phone { + padding-left: 40rpx; + height: 100%; + box-shadow: 0px 9px 31px 9px rgba(0, 0, 0, 0.03); + } + } + + .logincode { + position: absolute; + left: 10%; + + .obtaincode { + text-align: center; + font-size: 37rpx; + color: #4C7BC9; + line-height: 162rpx; + position: absolute; + left: 65%; + top: 0%; + } + + ::v-deep .u-input__input { + padding-left: 20rpx; + color: #000000; + font-size: 42rpx; + font-weight: 400; + height: 100%; + } + } + + .title { + height: 50rpx; + font-size: 52rpx; + font-weight: bold; + color: #000000; + line-height: 44rpx; + position: absolute; + top: 13%; + left: 13%; + } + } \ No newline at end of file diff --git a/pages/login/login.vue b/pages/login/login.vue new file mode 100644 index 0000000..9081573 --- /dev/null +++ b/pages/login/login.vue @@ -0,0 +1,116 @@ + + + + \ No newline at end of file diff --git a/pages/register/register.scss b/pages/register/register.scss new file mode 100644 index 0000000..56c9b6d --- /dev/null +++ b/pages/register/register.scss @@ -0,0 +1,162 @@ + .app { + height:calc(100vh - 44px); + padding:20rpx 0; + + .Agreement{ + width: 100%; + background-color: #F4F5F7; + text-align: center; + height: 1000rpx; + position: absolute; + top:5%; + font-size: 30rpx; + .title{ + height: 100rpx; + line-height: 100rpx; + border-bottom: 1px solid #eeeeee; + font-size: 34rpx; + margin: 0px auto; + width: 100%; + text-align: center; + } + .scroll-Y{ + height:830rpx ; + overflow-y:scroll; + text-align: left; + text-indent: 2em; + } + .cancel { + height:70rpx; + line-height: 70rpx; + font-size: 32rpx; + background-color: #F4F5F7; + position: absolute; + border-top: 1rpx solid #000000; + bottom:0; + right:0; + width: 50%; + color: #000000; + } + .determine { + height:70rpx; + line-height: 70rpx; + font-size: 32rpx; + width: 50%; + color: #F4F5F7; + background: #4C7BC9; + position: absolute; + bottom:0; + left:0; + } + } + .item{ + font-size: 34rpx; + margin: 0 auto 20rpx; + width: 94%; + height:100rpx; + line-height: 100rpx; + background-color: #fff; + box-shadow: 0px 9rpx 31rpx 9rpx rgba(0,0,0,0.03); + border-radius: 20rpx; + position: relative; + .lefttext{ + position: absolute; + top:50%; + transform: translateY(-50%); + left:3%; + } + .righttext{ + position: absolute; + top:50%; + transform: translateY(-50%); + width: 68%; + left:18%; + height:100rpx; + } + .lefttext,.righttext{ + ::v-deep .uni-input-input{ + font-size: 34rpx; + } + ::v-deep .uni-input-wrapper{ + height:100rpx; + line-height: 100rpx; + } + ::v-deep .uni-input-placeholder { + line-height: 100rpx; + font-size: 34rpx; + font-weight: 400; + color: #C3C1C1; + } + } + .obtaincode { + text-align: center; + font-size: 36rpx; + color: #4C7BC9; + line-height: 100rpx; + position: absolute; + right:5%; + top: 0%; + } + } + .radio-content { + margin: 50rpx auto; + width: 70%; + text-align: center; + font-size: 28rpx; + position: relative; + .agreement { + position: absolute; + top:50%; + left:20%; + transform: translateY(-50%); + color: #878987; + } + .radio-right { + height: 100rpx; + + .radio { + display: inline-block; + width: 35rpx; + height: 35rpx; + border-radius: 70%; + border: 2rpx solid #178ffb; + position: absolute; + top:50%; + left:5%; + transform: translateY(-50%); + .radio-active { + width: 16rpx; + height: 16rpx; + border-radius: 50%; + background-color: #178ffb; + position: absolute; + top:50%; + left:50%; + transform: translate(-50%,-50%); + } + } + } + } + .switch { + text-align: center; + line-height: 60rpx; + color: #46ABD7; + position: absolute; + top: 73%; + } + + .loginbtn { + width: 70%; + height: 100rpx; + text-align: center; + line-height: 100rpx; + background: #4C7BC9; + border-radius: 51rpx; + font-size: 41rpx; + color: #FFFFFF; + position: absolute; + top: 62%; + left: 15%; + } + + } \ No newline at end of file diff --git a/pages/register/register.vue b/pages/register/register.vue new file mode 100644 index 0000000..d579686 --- /dev/null +++ b/pages/register/register.vue @@ -0,0 +1,247 @@ + + + + \ No newline at end of file diff --git a/pages/user/user.vue b/pages/user/user.vue new file mode 100644 index 0000000..b2cab40 --- /dev/null +++ b/pages/user/user.vue @@ -0,0 +1,240 @@ + + + + \ No newline at end of file diff --git a/static/autograph.png b/static/autograph.png new file mode 100644 index 0000000000000000000000000000000000000000..201ff68b3dc8be84ac78407946a21c3545783828 GIT binary patch literal 1050 zcmV+#1m*jQP)Wcz*y@`_q=d%Iq)0;ri&P=4Qu`t)MG&DC z8Y(O*X`tDxLlXokinR?%G$gTA5iJ!76fFcxEAd71u{+m?ncd7LyV=?7-T2b;vNLn< z+#l!6%)PS%|3iqbfqEY`o@P7i)GfKDzOwGD0($;<$zf`fd+ItLSRWS^waeodrD@6G z0kgSis9hZ&l{z;;b=jCy+t}eXMa{ONpgn6#$9crvRByUhGFI<&$rAu-uk~4`vkXln zgp)T<>vvXz^F4r^%zRz}Xtc&hg4H+T8}>B-wniV*ibiW>%p*^z(*W#@4kcU7aef9+ z+clyKq(sb4>nH;N(iFXt>T(M}LfTMYmSg7o=+c=Zl zR_|vf^Fr05$H@+rx(CCsco7u+-cul*j?zvN3mwmaf(}^pH6+T_8E5 zkA#vSq&jVNWbQKYMz@teFNOBjLFfky%i?JTW1ga%H(v zG9zl2CnngOGs_`)5@0^I-y+Xgg4*TraoGaQt5eonS+g9H0CQ}%Sac($NYtS9Y&LSr zBk3^@2Q$1|PKX%tE>DsS|Z>;r)W2BpSx&8mMWy}NH(Uon}Msl8r~ zfG`(xHXAnqAQQQ zJ7ok=Gu7?WUb$26MDqHYkEXBaB7K=kD}cJ3B%$T6na9kWj;=pU-_^-6#&1h62RuowcFsEx#9&yBGIDV@M=idB}Nibui=4 z8)rKm2vxl29MSe6KWA**z%el9*A(>0H?L3_l>njpJ3_Z-Ye}qvSu%V3fs+9L0j}eF U9TI56&j0`b07*qoM6N<$f}QE~UH||9 literal 0 HcmV?d00001 diff --git a/static/homepage.png b/static/homepage.png new file mode 100644 index 0000000000000000000000000000000000000000..294bb460d1f18453a6e00d9b3886f916baced461 GIT binary patch literal 37686 zcmdSAWltT>7c~mS-HTgsC~$B%xa+~)-J!_ArMSDhb8vTecXxNEXo1q+-~WDs=f#uU z++;GDO!j0ZJDJ(D_gX7bSy37dnFtvQ3JOhDMnV+|3N8%_>dQ7F%zrcD%Xke?P|y;} z3hI(yzQBq&G>iS{5OeMjbLsqF|Nk}-r?&qMezb*GpM+H(hgBViRvreH?g*+m1eR@s zb9cdcdm$AE60Th`9=&p&eR3ZCAfG`M{}HvoG0or!ov>;B$XTQ4dDGZglek5Tq*d#b zHK+6yuiRDtf)(GQZE)6daPjJoj5V*kjeydfn5vz`y1nFvy|D6a@49n?>PNY%H{ObW z5>stysyELjI*~+J;rix_iN%Z^>a`*@1J; zo=e`oTft#m{Yi53X?p8HqRpYaH-J@~to?+gB zXxVSI!b|y*d#yyNhyUD)2Ub;7gVikCdwX2lias=W*xIi(Le`2+OD`WpmWP50fRdFE zRrlPy>G?2Yl6BvcW>EYSL8GG>@p|;d&&o@3RyT?x>c?pINbd7>ZK}N~aXWQ?>an#0 zU)s&Tf3KM5wXVHq>Tbo**b;$%{4H6Kz*<_l!1y0{L=;|bEl02Z|N1_B)xkxlQJZsk9F`5#;gPKe?#Vf0hJ1flsXMdCwu&Dc>mdd+4>;(cfT!# zDTavjXQ-;`C)kk~kurq--}&W#%fC>DV4l2sVFY7}xg3%k{wk9}q@_Iznw&NXhRaJ3%=us$!Pxn$J~@@ ziqvy=LvVpA_jghpf13575*Mdz&h>hDEIzpsou9(lp6RyY0CdA7ww&I@WQ%RPl+iYp%)qrvvuhIx9=4SfgfWU$jxz&s9Y9+j8U+4aMQ_7Hd@~7EXa4zV zr6mF6%lz4ld00ut1HlZi-C@SL8PLGw{Nfd7EvowBe#H!JAc zdawjvsXFbwNM5CPx?c5%qYzhQ$VLoj5PcEg{jTgDezzTpQTz~&Po(< z7wpD~GEyv)raJ9FggHM<$>#&RqkBwR6(@!gb#~Jee>s5YtMxzyBbadzLq4**$tNVPGMCwEv~-W#mu`w zf(7N3YnpRV=Xp;?lk6>-NLAjqeHbT@s{MVE)Uo+;AGbYUU(@ z{jYA|v9iS9bF|GBYG-@&m!tr$UBnPk``x1O>4Y_HSVMOHT)QjMUqObBWzmclq_Erp zbSqFerEzI02#o+0rS-sCY*CMDA@Qt2Ot<<_XPq)LDJIrF)wlEUEOSyqNYKfWj6;BRpK}iW3Eq8L;!nIBGH!_lTQ{G^2yyWL6Y

xb~D&1{f$vNYB1gkcqik!)XE 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%0DrbCLgbRt z<+ZoO1KUXS^7>3Y)pUYok6LCpo2BNLWWuO5h5(;+f9KwmB;@wfW)WH%w{nH7lciEY z{e((h_4o0PQ2OIv!rQ9O`RxKCK*-OrYX{?X3I}|75j4}!&x@+TmlO(93-2D?&;aY9 z6bK_HOwSqklidJ@tse-G9&3x@kcBaU?{2Wtr3SdzfML&}@J@5gO2dJ2e7Kbxcy#iu z)o~~-FvCrXB+fmY43Vqq_w;kpJ2-vB^K=uO+gOCWVxuY6c~Gybt<6=l6wnoPv3TfW9IpSB`@`D}gp^Xb7eO?xpxS0dORXQSbsi_FX~LtQZ=tlka*rSx{9iKW{P# z*i5V&lE{d2q8DfEJlp@i^|-!sD9z^!W(yrOxPkpnW&*URmFV1cB7{D#HS9r9YIDJ7 zQ(M}yog2PND6!v{UGox$LbQwbbrE(pjj5d)PW1)gaqtn`ru(2~{0*0aBWk~Fkq4~0 z=Mh^uvk6X|9~~ddte;=Av!Us5Ol|`=6IcJGCy)qN-vIL5G*)VS54 zhMXhdWG^HM)iF&yyPen^V1?#RmujMUeYib+<*5t_(*4?@eOa1SAe04cW7|MxUWD3} zDGIxL)>Ff)REKY5b9Ua0Sr?0FThro}l?q|VpAr&_@d;#F3{tW-WKlNIT+nzIP(&Od zZeey`OYwyWRDkKr30UO}#&~&ph|RgK*5kXy7CK5Qjj%}uPsVHy$|TyE%&pt#{^VM zAZ5@*Y}x)KZ9GWh-2g5-uxHfOtW+opv5Y_H7r(fy2@Lf%lfAj~+!8k3@dE&)uKzlLPpMd&S%E)NaW@BBxtLk>?SfHiSxM04I)+ zbV(HVJt)!utmGEm7T>^h_Q@9keIOqiQHc?jqJ_PK}1gAlD=Q3YNo23xb53__{~B+gOylVUM`cLxRr21fDs{PzC%}Y26sm+ zRkF1NP$~to5cN#{;wl(Z(`9w5PEymB)jgiW zPbc>dM0mipVWzhC?8ETR?F4J+PeQGluu9~iBGP)~RI=N1WT~TE9(TarK02%V)L?l1 zW%pk_cFP)~Zai^_t0)nTPI7=CUT2t>y8LS@_#mhl`0)#bJz)?Cp3zhURH(PZ_3e{q z#tU3sX%zFT!Bj9V53nwX=t{Z7e$6T;tPv`@zEMtYdjyQg)~HpY5Huc1qX@3 z?(Mq(i>(V`1Gqs}@UjkNAhePWs(qt-(K`h8xKj0MGmVmVJOkpNpg!HnZRI9U9V#T; z$m5;DTcw?HcoLLq;qKn)GGP#`p=Rykh5sBvWqLDi3KD}FsjY+0V)5EnQ4vk!H~hXU zV4RGN@Ea)aL`S9AxaJ-=7@qkIp z3x4B|+6}>!?)ott78An8lIry1*P1bA&bC&qp4IiCwe``O(s4yf7IABYzu6H9Vq~PJ zSu748xz@BK)Jrz+l0bdsb*!Aqt%%c{NrbCf!;EsNtHM$Ft*S2Wz~~9VV~^#w$?n-I zBN>Wfb~V|ws8J#qhyMKxA3{*4-822W?kx<% z`_8kqH~)CmANlv;?4M>1UiNnvYsXV385E0`eYAc5{P$h=X}PZlW z>EBAUzn1Gih2gjT>k;vXyY}0<3vtsV(|@5%EDQrO|IJ`}(W2JxFc#xoxB%s)3bK*O zYIx65BJ0MtO(*QbY=~ab1)44xiw%OE8C6p)phEF{Lm_aWBlQoEtY5}^Fa@6T3`AXx z3dueDie4pvy*%HzILcn4Za& jY7&0z0#a8NK+%&|bv#R&7hQ4B#PIm~_<2`(9ZmWlq^7M( literal 0 HcmV?d00001 diff --git a/static/homepagew.png b/static/homepagew.png new file mode 100644 index 0000000000000000000000000000000000000000..fff7d1810181888119090010db8c9dbc307718c2 GIT binary patch literal 1610 zcmeAS@N?(olHy`uVBq!ia0vp^EkInu!3-qlN56Q;z`!IB;1l8sTOXxpOCw4HVhEdpD4A`0(K!J9g~Zvj->+B!MD_4jtON zcQ24}@ZdoR11P?4-#(xSG6Tp3%0k2s95?`B!x=zX2peJokPTD`2S8aM8z=~5AOpAv zL_JUnE&^l&wLlcZWzhtYxe%2QEy(KOY&Zj`5-S@hh-?T%8AJq)4d=qOz?C60kY(X) zI0J47vKBN!T#B)ZLj*UJ|6~HDiS;Exe!&ckOw25-Z0sDIT--c-`~reP!eZhQlF|x_ z$|`E=8d};qdIm zVpV&&>J8#Zp+zI)H! z0|yTsK63oT=`-ifU%Yhr%GGPvZ{E6n=kC4x4<0>#@$%K{H*ep)|M2nC=PzHsegELz!^h%SuFX`ru_0Z^xHw-Z>%=Fg^^GZwZKaDZ z9+SvFB`HRFncaz z(KnFo)teUX>~BTshHu0Z8qCA@F*^8hIPX(n-gD6Z;C6?Ic%vqXZN8n(2{G{-D_N9^ zm%pBS$KN4mzEGM(&>ex;`UgTb>*OE3?l39$I<;LYPhBAF*30@7TMf>KpKi0?P+To* z=Q7)*<#4;il(vlTipQ2HR@HXIUlP!hf3(-+NU{8*T_#5~_g@x>WIHdke|Ko3%8_@O z-`^@5aqQ=3(_0;-&MNE{eW|36ySp!b?In}5fj6ChTwH%XbJns@%Rad{*{aWuKhFmp z+@-x<%_U<^$L^L6t=0ezFBjiN+x)6+hpY~ET;3&~*S#XNhIg zc|Oklt9eY%$VK}1hHyzqrGD9oCXOvX(o#&eOyWpw^3z@wn*B+vgLvL;wo_22WQ%mvv4FO#rv? BZ#Vz| literal 0 HcmV?d00001 diff --git a/static/homepagews.png b/static/homepagews.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c55582d178add0487227a76843bbe600e25966 GIT binary patch literal 1610 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 AGynhq literal 0 HcmV?d00001 diff --git a/static/users.png b/static/users.png new file mode 100644 index 0000000000000000000000000000000000000000..05d94fefef1392dccd3deef00f31afc84014bc64 GIT binary patch literal 1942 zcmah~dpJ~S93B!wB$tMijj~Jz6*Cp9O_>>H&deAyrbNUhMG0x+%#3!l*s|4*LJ=`x za$8wVtti{YWo}Cp$t|WdHcjcCggxh|-RIeV_Ib|b{eJKJdw=iuJ?DAOQ6|I3$iT_~ zg+duoe2FaRoeJH2^c?6}7(6!tOR1oY!B@~hr5`AzC(8k@f|}d{_0p1MRIZ%HZ3U90RGti? zXgmd-C#8Wh0F+UAaylrd^JO%y9N;TpJzolNWpu7$7SMQ5y%o~K8lDW`%OMOvK9DCw zaiw$^LllHziUwiW0nx)4YKQ7_sED+~N?7oZA)F0yMoehjS@ZuG%7D)fQh+amCPKEf zFAg;RXBLhP$>3n{EO!xu~;KJb!`WJ97tT`)_B&VdWrBC}vUB1U@Q zB(weq`;Q4?JKGNT!gXZO=lT~6c_I}g;b%Nsfi{Hzt5+X` zzQp?nSPV8wOM8yaTwOi1zQH_0qxr@QOiazp7h)_d7g;T_{%WbsvgLMP+dE(#aZb)I zD_6O?;R$Qjxv&3r!zOPciR?q60(6ES)1SrWY~B*MH7IynNND(XJ0f;QMeo@gvoAI- zet*LE2NRP(E{~sl=m$Z{;U81e(tkQ~G~?%ECw>uTp32J3IejMYY<|JH!XnZ6;*tyH zl~uo9tdU&4@_XIY`i5)Q8*kpa-P|gb$rZ{!+wXLA-s|eV-_zGWFgP@h+tq@7{ly_&E7#YTDUqpbUkY^Mpd&7+|?bb8|A-oP*LGiX9-OE^tMk zKZeEEWI4H}D1j9_bAochNE$*;J9J5F+@(=+YfW>XByzzlPXz<#xqy6@zYDSs+QJz`<@nO53^hR@cdT&ORWe@ICN+(em` zyV#*;mxb7yekM0}*>^_S_#Rt|h#bzd zmGzmwUvBrnFaA%4?{L-mx`f|^%T&P`uN}NHdbVS$6SPW>y!Y>)_{Ns>#?SnI{Nj=$ zRi$;^NxmlBEY+cTKP}P2R%@NSR^{L0BaGO&AuT4|&g3-KX>Kjv-?9WOIRC8xuWx>N z!K?hDGfS&eJQuI9w=iw)ViWuL(kwTkR+_L9+Q7zI-tJJV2%LE9i+Y>Bw;S%}@9-DK z4wLdatmooN-geYI2Wwh78CG4{T9y6k3#$i!@Pbq~yh>?Z!%~JHKlRZQgHimYY6?mS zzdpCnFiv|?eG8Ll{aoF{tvG$drL7_HT=%-(u#iEGTiAv1g?%SJxQuVNc5plw>}qB} z6jvoZO}nMiOgu2Qzq%@>R}!^FRC6zT?9%q$>+c_}Y^?Gab#{?HsELl(*=q(SaQA^R zK%%htP5%1n(81bNY@i~3?5QTZ5#``IJ|?o>N~!Vf&l@0U@Zzb;lbm>=lSlD*ppP(8 zXNo||T|M8|^w3NrCc}NpZ=Tw0bfqy1%qHLTHJJbdbfbxHS<=SyC5eZ?&SV_ zM`}8{mH(nJOMTIpy<`<`qCk;_V>Y72{o|Y0jx=mrW09U#9VI4A2U_UvU{w-=NR#$P zx^?>-qDq0_kTXi>Y;Q@<=Iqp?>+eyuOzthL+Mt*)j|Nn|d^cHuPajMeV1 z^mZ4fI9n=;C7f8@={+Vf;?gh)bE&2qKd;z4N^arMCebdC_ZDwkyPy8rFvd zj2Ml&PL`2lJ*vw@R@s)3t literal 0 HcmV?d00001 diff --git a/static/userw.png b/static/userw.png new file mode 100644 index 0000000000000000000000000000000000000000..77902b790e376071906aa9f4eac6b360de0ab239 GIT binary patch literal 1942 zcmai!do&(5{mvM$U0Yj=ii#>KDti9>IfKCfP+3_CxTU3~qN1XzstRyZ zQxlNY)zyF-8yl%qYE4ZI;D&|<5a2S6Mgy|Gz8)lNYij|65(j_;OsCU1k^{UF#5l69 zu8z|JfWyGAs{#W`VC4lcd7T7?D|wj{9 zMMO7>iAzXINz2H}ZGy=wY*yT=^oO#_HZ}D>H8kPc2pwI$?K=z%k*J- ztZlIS><-vFI6C3*F0KdN4!L_A_Vn^Odd$}^An@d=pwq!2p=ZMWI(Pm8Av_}T;-$+` z(O3SCiH*B@?Rxx;o44-}6YeG@r=+H3+{?_mpPfT`kem0gu(;&W<1)(A%4gInT6Ik= zy}qHbxwY-Z%XY@A&aUpBH@$st`v-@HM@Gk(;~yp_SyLZBO@E&GGW+%0_qq8W3qKc^ zmVd3R>M9NwKp-0?v1m(Yh0W~xWe+(Qh|p;8FeXOI0Q%r299fp6V-U@-)ACDkPw~cB z!Z!PoMX;1dh~X}smySB0`3IV1U^r1(SOd<&w~BFT&E6cvADV8GnSQLZahbWsNMCxH zKwEm>Dcn}q+!r?xU!u^D_!ZrQ=eyl=ZZrYf@8360S84r#ph{Ol2|tZn- zklmFoal<5gX2SPMeuYn=5|UXBbvxdns`wfvS&TO7DyUR<%S&ikWYx(C2Ux4=jKUT2 zw6fzYXnt16!X}Y-83C@Bx2Z?mpG55~ow6707c2C74IlmdlnAePkgh+j+PyQr@SZr~ zmt2xSfQ(k4WZqZDB;}sNIb|WXCsnZ|Yo7?!7lU#OYU=MCLSNb2j+H#1hCLx} zV|v7Y*R+W5KLRfeHRsc;>^a-@?&9wF<&o+zY<+*7G&#9JSrP39{e zVm;I!w)4q~F+?&MN@X~P&#k*lW-wU$M`n|Im`|->wpa-NGOGc0UTKEaA6}GNr`J(^ z{(hhFfVbxe+tB;r?54rnKlNshC~0cn_b`wZMUzV|e2Q&gvKQY;YE@mqHw7PH!u5RP;x zd1%(vXrlV?PWial(f~4Q)lFXL7_J!Qj#<_a7owi24#>Cj@JwUqCRUZFrMLtOt)7$)BIkQk9F^I9 z$c?#j0hD_`G^}Zbw|<;-Xo5~Sk6jdFwV=PwJJt$ literal 0 HcmV?d00001 diff --git a/uni.promisify.adaptor.js b/uni.promisify.adaptor.js new file mode 100644 index 0000000..5fec4f3 --- /dev/null +++ b/uni.promisify.adaptor.js @@ -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]) + }); + }); + }, +}); \ No newline at end of file diff --git a/uni.scss b/uni.scss new file mode 100644 index 0000000..236ab03 --- /dev/null +++ b/uni.scss @@ -0,0 +1,77 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* uni.scss */ +@import 'uview-ui/theme.scss'; +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16px; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px;