| | |
| | | <script> |
| | | import Vue from 'vue' |
| | | export default { |
| | | globalData: { |
| | | baseHttp: '', |
| | | baseUrll: '', |
| | | upVersion: 0, |
| | | }, |
| | | onLaunch: function() { |
| | | Vue.prototype.ColorList = [{ |
| | | title: '嫣红', |
| | | name: 'red', |
| | | color: '#e54d42' |
| | | }, |
| | | { |
| | | title: '桔橙', |
| | | name: 'orange', |
| | | color: '#f37b1d' |
| | | }, |
| | | { |
| | | title: '明黄', |
| | | name: 'yellow', |
| | | color: '#fbbd08' |
| | | }, |
| | | { |
| | | title: '橄榄', |
| | | name: 'olive', |
| | | color: '#8dc63f' |
| | | }, |
| | | { |
| | | title: '森绿', |
| | | name: 'green', |
| | | color: '#39b54a' |
| | | }, |
| | | { |
| | | title: '天青', |
| | | name: 'cyan', |
| | | color: '#1cbbb4' |
| | | }, |
| | | { |
| | | title: '海蓝', |
| | | name: 'blue', |
| | | color: '#0081ff' |
| | | }, |
| | | { |
| | | title: '姹紫', |
| | | name: 'purple', |
| | | color: '#6739b6' |
| | | }, |
| | | { |
| | | title: '木槿', |
| | | name: 'mauve', |
| | | color: '#9c26b0' |
| | | }, |
| | | { |
| | | title: '桃粉', |
| | | name: 'pink', |
| | | color: '#e03997' |
| | | }, |
| | | { |
| | | title: '棕褐', |
| | | name: 'brown', |
| | | color: '#a5673f' |
| | | }, |
| | | { |
| | | title: '玄灰', |
| | | name: 'grey', |
| | | color: '#8799a3' |
| | | }, |
| | | { |
| | | title: '草灰', |
| | | name: 'gray', |
| | | color: '#aaaaaa' |
| | | }, |
| | | { |
| | | title: '墨黑', |
| | | name: 'black', |
| | | color: '#333333' |
| | | }, |
| | | { |
| | | title: '雅白', |
| | | name: 'white', |
| | | color: '#ffffff' |
| | | }, |
| | | ] |
| | | console.log('App Launch') |
| | | }, |
| | | onShow: function() { |
| | | this.getVersion(); |
| | | this.baseUrll = uni.getStorageSync("baseUrl") |
| | | console.log('App Show') |
| | | }, |
| | | onHide: function() { |
| | | console.log('App Hide') |
| | | }, |
| | | methods: { |
| | | //检测当前平台,如果是安卓则启动安卓更新 |
| | | getVersion() { |
| | | let that = this; |
| | | uni.getSystemInfo({ |
| | | success: (res) => { |
| | | console.log(res.platform); |
| | | if (res.platform == "android") { |
| | | that.AndroidCheckUpdate(); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // 获取当前版本号 |
| | | AndroidCheckUpdate() { |
| | | let that = this; |
| | | plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => { |
| | | that.version = wgtinfo.version //客户端版本号 |
| | | console.log('当前app版本信息:' + that.version); |
| | | }) |
| | | that.getUpdateVersion() |
| | | }, |
| | | getUpdateVersion() { |
| | | let that = this; |
| | | uni.request({ |
| | | url: that.baseUrll + "/mobile/appUpdate/queryUpdate", |
| | | method:'GET', |
| | | success(res) { |
| | | // 新app版本 |
| | | that.upVersion = Number(res.data.data) |
| | | // 当前app版本 |
| | | let currentVersion = Number(that.version) |
| | | if(that.upVersion > currentVersion) { |
| | | that.downWgt(); //下载文件 |
| | | } |
| | | } |
| | | }) |
| | | return |
| | | that.$req.get(that.baseUrll + "/appUpdate/queryUpdate", {}, {}).then(function(res) { |
| | | console.log('res.data:' + JSON.stringify(res.data)) |
| | | console.log("现在的版本" + that.version + "数据库版本" + res.data.data.version + "进入查找app版本"); |
| | | if (res.data.data.version > that.version) { |
| | | // 这里下载apkurl从/appUpdate/queryUpdate接口请求返回数据中获取 |
| | | that.downloadUrl = BaseUrl + '/' + res.data.data.androidUrl |
| | | // 是否强制更新(0 否;1 是) |
| | | that.isForceUpdate = res.data.data.isForceUpdate |
| | | uni.showModal({ |
| | | // 更新提醒 |
| | | title: '发现新版本,是否更新', |
| | | content: '此版本号:' + that.version + '\xa0\xa0\xa0' + '待更新版本号:' + res.data.data |
| | | .version, |
| | | success: res => { |
| | | if (res.confirm) { |
| | | that.downWgt(); //下载文件 |
| | | // that.showdownLine = true; |
| | | // plus.runtime.openURL(androidUrl) |
| | | } else if (res.cancel) { |
| | | console.log('that.isForceUpdate:' + that.isForceUpdate); |
| | | // 不更新强制退出app |
| | | if (that.isForceUpdate == 1) { |
| | | console.log('that.isForceUpdate1:' + that.isForceUpdate); |
| | | uni.showModal({ |
| | | // 更新提醒 |
| | | title: '发现新版本,是否更新', |
| | | content: '此版本为强制更新版本如不升级将退出APP', |
| | | success: res => { |
| | | if (res.confirm) { |
| | | console.log('不更新强制退出app'); |
| | | plus.runtime.quit(); |
| | | } else if (res.cancel) { |
| | | that.AndroidCheckUpdate(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | //dtask.start(); |
| | | } |
| | | }).catch(error => { |
| | | uni.showToast({ |
| | | title: '调用请求失败', |
| | | mask: false, |
| | | duration: 5000, |
| | | icon: "none" |
| | | }); |
| | | }); |
| | | complete: () => {} |
| | | }, |
| | | downWgt() { |
| | | let that = this; |
| | | const downloadUrl = that.baseUrll + "/static/appupload/" + that.upVersion + ".apk" |
| | | uni.showLoading({ |
| | | title: '更新中……' |
| | | }) |
| | | // return |
| | | const downloadTask = uni.downloadFile({ //执行下载 |
| | | url: downloadUrl, //下载地址 |
| | | timeout: 1000 * 30, //30秒超时时间 |
| | | success: downloadResult => { //下载成功 |
| | | console.log(downloadResult); |
| | | that.showdownLine = false |
| | | uni.hideLoading(); |
| | | console.log('downloadResult.statusCode' + downloadResult.statusCode) |
| | | if (downloadResult.statusCode == 200) { |
| | | console.log('更新中') |
| | | uni.showModal({ |
| | | title: '', |
| | | content: '更新成功,确定现在重启吗?', |
| | | confirmText: '重启', |
| | | confirmColor: '#EE8F57', |
| | | success: function(res) { |
| | | if (res.confirm == true) { |
| | | plus.runtime.install( //安装 |
| | | downloadResult.tempFilePath, { |
| | | force: true |
| | | }, |
| | | function(res) { |
| | | utils.showToast('更新成功,重启中'); |
| | | plus.runtime.restart(); |
| | | } |
| | | ); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | fail: err => { |
| | | uni.hideLoading(); |
| | | that.showdownLine = false |
| | | that.$u.toast(err.errMsg) |
| | | console.log(err) |
| | | }, |
| | | complete: com => { |
| | | console.log(com) |
| | | } |
| | | }); |
| | | |
| | | // 下载进度 |
| | | downloadTask.onProgressUpdate(res => { |
| | | that.downloadNum = res.progress |
| | | console.log('下载进度' + that.downloadNum); |
| | | }); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | /*每个页面公共css */ |
| | | @import "colorui/main.css"; |
| | | @import "colorui/icon.css"; |
| | | body { |
| | | background-color: #f8fafb; |
| | | font-family: Helvetica, sans-serif,'my-font'; |
| | | } |
| | | |
| | | .footer { |
| | | @font-face { |
| | | font-family: my-font; |
| | | src: url('./static/font/NotoSansCJK-Light-3.otf'); |
| | | } |
| | | .z-floor { |
| | | height: 100rpx; |
| | | line-height: 100rpx; |
| | | width: 100%; |
| | | height: 150rpx; |
| | | line-height: 150rpx; |
| | | background-color: #FFF; |
| | | background-color: #fff; |
| | | /* box-shadow: 0px -4px 4px #e2e2e2; */ |
| | | border-top: 1px solid #e2e2e2; |
| | | position: fixed; |
| | | bottom: 0; |
| | | border-top: 1px solid #d8d8d8; |
| | | border-radius: 20rpx 20rpx 0 0; |
| | | z-index: 1; |
| | | } |
| | | |
| | | .nav-list { |
| | | left: 0; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | padding: 0px 40upx 0px; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | text-align: center; |
| | | letter-spacing: 10rpx; |
| | | } |
| | | |
| | | .nav-li { |
| | | padding: 30upx; |
| | | border-radius: 12upx; |
| | | width: 95%; |
| | | margin: 0 2.5% 40upx; |
| | | |
| | | background-size: cover; |
| | | background-position: center; |
| | | position: relative; |
| | | z-index: 1; |
| | | .z-default { |
| | | flex: 2; |
| | | } |
| | | |
| | | .nav-li::after { |
| | | content: ""; |
| | | position: absolute; |
| | | z-index: -1; |
| | | background-color: inherit; |
| | | width: 100%; |
| | | height: 100%; |
| | | left: 0; |
| | | bottom: -10%; |
| | | border-radius: 10upx; |
| | | opacity: 0.2; |
| | | transform: scale(0.9, 0.9); |
| | | .z-default:active { |
| | | background-color: #eff0f1; |
| | | } |
| | | |
| | | .nav-li.cur { |
| | | .z-primary { |
| | | flex: 3; |
| | | background-color: #0084ff; |
| | | color: #fff; |
| | | background: rgb(94, 185, 94); |
| | | box-shadow: 4upx 4upx 6upx rgba(94, 185, 94, 0.4); |
| | | } |
| | | |
| | | .nav-title { |
| | | font-size: 32upx; |
| | | font-weight: 300; |
| | | .z-primary:active { |
| | | background-color: #007dea; |
| | | } |
| | | |
| | | .nav-title::first-letter { |
| | | font-size: 40upx; |
| | | margin-right: 4upx; |
| | | } |
| | | |
| | | .nav-name { |
| | | font-size: 28upx; |
| | | text-transform: Capitalize; |
| | | margin-top: 20upx; |
| | | position: relative; |
| | | } |
| | | |
| | | .nav-name::before { |
| | | content: ""; |
| | | position: absolute; |
| | | display: block; |
| | | width: 40upx; |
| | | height: 6upx; |
| | | background: #fff; |
| | | bottom: 0; |
| | | right: 0; |
| | | opacity: 0.5; |
| | | } |
| | | |
| | | .nav-name::after { |
| | | content: ""; |
| | | position: absolute; |
| | | display: block; |
| | | width: 100upx; |
| | | height: 1px; |
| | | background: #fff; |
| | | bottom: 0; |
| | | right: 40upx; |
| | | opacity: 0.3; |
| | | } |
| | | |
| | | .nav-name::first-letter { |
| | | font-weight: bold; |
| | | font-size: 36upx; |
| | | margin-right: 1px; |
| | | } |
| | | |
| | | .nav-li text { |
| | | position: absolute; |
| | | right: 30upx; |
| | | top: 30upx; |
| | | font-size: 52upx; |
| | | width: 60upx; |
| | | height: 60upx; |
| | | text-align: center; |
| | | line-height: 60upx; |
| | | } |
| | | |
| | | .text-light { |
| | | font-weight: 300; |
| | | } |
| | | |
| | | @keyframes show { |
| | | 0% { |
| | | transform: translateY(-50px); |
| | | } |
| | | |
| | | 60% { |
| | | transform: translateY(40upx); |
| | | } |
| | | |
| | | 100% { |
| | | transform: translateY(0px); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes show { |
| | | 0% { |
| | | transform: translateY(-50px); |
| | | } |
| | | |
| | | 60% { |
| | | transform: translateY(40upx); |
| | | } |
| | | |
| | | 100% { |
| | | transform: translateY(0px); |
| | | } |
| | | } |
| | | |
| | | /* .pda-btn { |
| | | |
| | | margin-left:120rpx; |
| | | margin-right: auto; |
| | | margin-top: 150rpx; |
| | | width: 200rpx; |
| | | height: 80rpx; |
| | | font-size: 30upx; |
| | | font-weight: bold; |
| | | } */ |
| | | .title-login { |
| | | text-align: justify; |
| | | padding-right: 30upx; |
| | | font-size: 30upx; |
| | | font-weight: 400; |
| | | position: relative; |
| | | height: 60upx; |
| | | line-height: 60upx; |
| | | } |
| | | |
| | | .main-btn { |
| | | padding: 0 20px; |
| | | font-size: 20px; |
| | | height: 40px; |
| | | } |
| | | |
| | | /* uni-checkbox .uni-checkbox-input{ |
| | | border-radius: 20% !important; |
| | | border: 1px solid black; |
| | | } |
| | | uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked { |
| | | background: $primary-color; |
| | | } */ |
| | | /* uni-checkbox-group{ width: 100% !important; } |
| | | uni-checkbox-group uni-label{ width: 33% !important; display: inline-flex; margin-bottom: 20rpx; } */ |
| | | |
| | | /*checkbox 选项框大小 */ |
| | | uni-checkbox .uni-checkbox-input { |
| | | width: 30rpx !important; |
| | | height: 30rpx !important; |
| | | } |
| | | |
| | | /*checkbox选中后样式 */ |
| | | uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked { |
| | | background: #3D7EFF; |
| | | border-color: #3D7EFF; |
| | | } |
| | | |
| | | /*checkbox选中后图标样式 */ |
| | | uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked::before { |
| | | width: 30rpx; |
| | | height: 30rpx; |
| | | line-height: 30rpx; |
| | | text-align: center; |
| | | font-size: 30rpx; |
| | | color: #fff; |
| | | background: transparent; |
| | | transform: translate(-50%, -50%) scale(1); |
| | | -webkit-transform: translate(-50%, -50%) scale(1); |
| | | } |
| | | |
| | | .square-2 { |
| | | background-color: #ffffff; |
| | | box-shadow: 0px 0px 5px #d9d9d9; |
| | | width: 94%; |
| | | height: 200rpx; |
| | | border-radius: 20rpx; |
| | | margin: 20rpx auto 20rpx auto; |
| | | } |
| | | |
| | | .square-title { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | } |
| | | |
| | | .title-sign { |
| | | display: inline-block; |
| | | float: left; |
| | | height: 100rpx; |
| | | width: 2em; |
| | | line-height: 100rpx; |
| | | } |
| | | |
| | | .sign { |
| | | background-color: #007AFF; |
| | | width: 15rpx; |
| | | height: 40rpx; |
| | | border-radius: 50rpx; |
| | | position: relative; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | |
| | | .square-content { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | } |
| | | |
| | | .square-content>text { |
| | | height: 100%; |
| | | /* background-color: #18BC37; */ |
| | | width: 22%; |
| | | line-height: 100rpx; |
| | | display: inline-block; |
| | | float: left; |
| | | text-align: right; |
| | | margin-left: 3%; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | .content-input { |
| | | background-color: #f9f9f9; |
| | | display: inline-block; |
| | | float: left; |
| | | height: 80rpx; |
| | | line-height: 80rpx; |
| | | width: 95%; |
| | | margin: 10rpx 2.5%; |
| | | border-radius: 15rpx; |
| | | border: 1px solid #eeeeee; |
| | | } |
| | | |
| | | .content-input input { |
| | | display: inline-block; |
| | | float: left; |
| | | height: 80rpx; |
| | | width: 90%; |
| | | text-indent: 20rpx; |
| | | font-size: 32rpx; |
| | | letter-spacing: 3rpx; |
| | | } |
| | | |
| | | .content-input-btn { |
| | | background-color: #f9f9f9; |
| | | display: inline-block; |
| | | float: left; |
| | | height: 80rpx; |
| | | line-height: 80rpx; |
| | | width: 70%; |
| | | margin: 10rpx 2.5%; |
| | | border-radius: 15rpx; |
| | | border: 1px solid #eeeeee; |
| | | } |
| | | |
| | | .content-input-btn input { |
| | | display: inline-block; |
| | | float: left; |
| | | height: 100%; |
| | | width: 85%; |
| | | /* background-color: #007AFF; */ |
| | | text-indent: 20rpx; |
| | | font-size: 32rpx; |
| | | letter-spacing: 3rpx; |
| | | } |
| | | |
| | | .content-input-combox { |
| | | background-color: #f9f9f9; |
| | | display: inline-block; |
| | | float: right; |
| | | height: 80rpx; |
| | | line-height: 80rpx; |
| | | width: 70%; |
| | | margin: 10rpx 2.5%; |
| | | border-radius: 10rpx; |
| | | border: 1px solid #eeeeee; |
| | | margin: 10rpx 3% 10rpx 0; |
| | | } |
| | | |
| | | .content-input-combox input { |
| | | display: inline-block; |
| | | float: left; |
| | | height: 100%; |
| | | width: 85%; |
| | | /* background-color: #007AFF; */ |
| | | text-indent: 20rpx; |
| | | font-size: 32rpx; |
| | | letter-spacing: 3rpx; |
| | | } |
| | | |
| | | .content-combox { |
| | | display: inline-block; |
| | | float: right; |
| | | height: 80rpx; |
| | | width: 94%; |
| | | margin: 10rpx 3% 10rpx 0; |
| | | } |
| | | |
| | | .square-none { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | } |
| | | |
| | | .square-1 { |
| | | position: relative; |
| | | background-color: #ffffff; |
| | | box-shadow: 0px 0px 5px #d9d9d9; |
| | | width: 94%; |
| | | height: 100rpx; |
| | | border-radius: 20rpx; |
| | | margin: 20rpx auto 20rpx auto; |
| | | } |
| | | |
| | | .v-show { |
| | | width: 100%; |
| | | height: 100%; |
| | | /* line-height: 100rpx; */ |
| | | text-align: center; |
| | | color: #7a7a7a; |
| | | } |
| | | |
| | | .title-text { |
| | | /* background-color: #000000; */ |
| | | display: inline-block; |
| | | height: 100rpx; |
| | | width: 250rpx; |
| | | line-height: 110rpx; |
| | | font-size: 40rpx; |
| | | font-weight: 700; |
| | | letter-spacing: 7rpx; |
| | | } |
| | | |
| | | .content-btn { |
| | | /* background-color: #57a3ff; */ |
| | | display: inline-block; |
| | | height: 100rpx; |
| | | width: 25%; |
| | | } |
| | | |
| | | .pda-btn { |
| | | background-color: #1E9FFF; |
| | | height: 80rpx; |
| | | width: 90%; |
| | | margin: 10rpx auto; |
| | | text-align: center; |
| | | line-height: 80rpx; |
| | | font-size: 32rpx; |
| | | color: #FFFFFF; |
| | | } |
| | | |
| | | .square-3 { |
| | | background-color: #ffffff; |
| | | box-shadow: 0px 0px 5px #d9d9d9; |
| | | width: 94%; |
| | | height: 300rpx; |
| | | border-radius: 20rpx; |
| | | margin: 20rpx auto 20rpx auto; |
| | | } |
| | | |
| | | .searchBox { |
| | | position: absolute; |
| | | width: 94%; |
| | | height: 80%; |
| | | top: 0; |
| | | left: 0; |
| | | bottom: 0; |
| | | right: 0; |
| | | margin: auto; |
| | | background-color: #F9F9F9; |
| | | border-radius: 20rpx; |
| | | } |
| | | |
| | | .searchIcon { |
| | | display: inline-block; |
| | | float: left; |
| | | width: 10%; |
| | | height: 100%; |
| | | text-align: center; |
| | | line-height: 80rpx; |
| | | } |
| | | |
| | | .searchArea { |
| | | display: inline-block; |
| | | float: left; |
| | | width: 80%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .searchArea input { |
| | | height: 100%; |
| | | font-size: 14px; |
| | | color: #5f5f5f; |
| | | } |
| | | |
| | | .closeIcon { |
| | | display: inline-block; |
| | | float: left; |
| | | width: 10%; |
| | | height: 100%; |
| | | text-align: center; |
| | | line-height: 80rpx; |
| | | } |
| | | </style> |
| | | </style> |