|
|
<script> export default { globalData: { }, onLaunch: function() { this.login(); // 校验登录态 TODO 等待与后端对接
}, onShow: function() { // #ifdef MP-WEIXIN
this.getUpdateWexin(); // 小程序更新检查
// #endif
}, onHide: function() { console.log('App Hide') }, methods: { // 接口code换取用户信息
userCode(code){ return console.log("code", code); this.$http('', { code }).then(res => { console.log("获得用户信息", res); }) }, // 登录
login(){ this.checkSession().then(code => { this.userCode(code); }).catch(err => { uni.login({ complete: result => { if(result.errMsg == 'login:ok'){ let code = result.code; uni.setStorageSync('login_token', code); this.userCode(code); } } }) }); }, // 校验登录态是否过期,如果没有过期还要判断本地有没有token
checkSession(){ return new Promise((resolve, reject) => { uni.checkSession({ complete: result => { if(result.errMsg == 'checkSession:ok'){ // 处于登录状态 session未过期
let login_token = uni.getStorageSync('login_token'); if(login_token){ resolve(login_token); }else{ reject(); // 本地没有token,重新调取登录
} }else{ // session已过期,需要重新登录
reject(); } } }) }); }, // 小程序版本更新检查
getUpdateWexin(){ const updateManager = uni.getUpdateManager(); // 获取版本更新管理器对象
updateManager.onCheckForUpdate(function(res) { // 请求完新版本信息的回调
if (res.hasUpdate) { updateManager.onUpdateReady(function(res2) { uni.showModal({ title: '更新提示', content: '发现新版本,是否重启应用?', confirmColor: '#FE9903', showCancel: false, success(res2) { if (res2.confirm) { // 新的版本已经下载好,调用applyUpdate应用新版本并重启
updateManager.applyUpdate(); } } }); }); } }); updateManager.onUpdateFailed(function(res) { // 新的版本下载失败
uni.showModal({ title: '提示', content: '检查到有新版本,但下载失败,请检查网络设置', confirmColor: '#FE9903', success(res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate(); } } }); }); } } }</script>
<style lang="scss"> @import "uview-ui/index.scss"; @import './colorui/main.css'; @import './colorui/icon.css'; @import "@/colorui/animation.css"; @import '@/common/styles/common.css'; /*每个页面公共css */ //底部按钮
.btn-bottom { position: fixed; left: 0; bottom: 0; width: 100%; z-index: 1; } // loading加载
.loading-more { align-items: center; justify-content: center; padding-top: 10px; padding-bottom: 10px; text-align: center; font-size: 28rpx; color: #999; } .loading-more-text::before { content: ''; width: 20px; height: 20px; display: inline-block; vertical-align: middle; -webkit-animation: weuiLoading 1s steps(12, end) infinite; animation: weuiLoading 1s steps(12, end) infinite; background-repeat: no-repeat; background-image: url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E"); background-size: 100%; } @-webkit-keyframes weuiLoading { 0% { transform: rotate3d(0, 0, 1, 0deg); } 100% { transform: rotate3d(0, 0, 1, 360deg); } } @keyframes weuiLoading { 0% { transform: rotate3d(0, 0, 1, 0deg); } 100% { transform: rotate3d(0, 0, 1, 360deg); } }</style>
|