枕头定制小程序项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

240 lines
5.7 KiB

<script>
import {
mapMutations
} from 'vuex'
import {
version
} from './package.json'
import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update';
export default {
onLaunch: function() {
// #ifdef H5
console.log(
`%c hello uniapp %c v${version} `,
'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
'background:#007aff ;padding: 1px; border-radius: 0 3px 3px 0; color: #fff; font-weight: bold;'
)
// #endif
// 线上示例使用
// console.log('%c uni-app官方团队诚邀优秀前端工程师加盟,一起打造更卓越的uni-app & uniCloud,欢迎投递简历到 hr2013@dcloud.io', 'color: red');
console.log('App Launch');
// #ifdef APP-PLUS
// App平台检测升级,服务端代码是通过uniCloud的云函数实现的,详情可参考:https://ext.dcloud.net.cn/plugin?id=4542
if (plus.runtime.appid !== 'HBuilder') { // 真机运行不需要检查更新,真机运行时appid固定为'HBuilder',这是调试基座的appid
checkUpdate()
}
// 一键登录预登陆,可以显著提高登录速度
uni.preLogin({
provider: 'univerify',
success: (res) => {
// 成功
this.setUniverifyErrorMsg();
console.log("preLogin success: ", res);
},
fail: (res) => {
this.setUniverifyLogin(false);
this.setUniverifyErrorMsg(res.errMsg);
// 失败
console.log("preLogin fail res: ", res);
}
})
// #endif
// #ifdef MP-WEIXIN
let openid = uni.getStorageSync('openId');
if (!openid) {
this.wxLogin();
} else {
this.globalData.openId = openid;
this.getUserInfo();
}
// #endif
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
},
globalData: {
openId: '',
test: '',
// baseUrl: "http://192.168.3.32:80",
baseUrl: "http://192.168.1.106:80",
imgPrefix: "http://47.104.224.41:9000/etriphome/appresource/image/",//图片资源
},
methods: {
...mapMutations(['setUniverifyErrorMsg', 'setUniverifyLogin']),
//获取用户信息
getUserInfo() {
uni.request({
url: this.globalData.baseUrl + '/weChatUser/getWeChatUser?openId=' + this.globalData.openId,
method: 'GET',
success: (res) => {
// console.log(res)
if (res.data.code == 200) {
uni.setStorageSync('userInfo', JSON.stringify(res.data.data));
uni.setStorageSync('phone', res.data.data.phone);
this.doLogin(res.data.data.username, res.data.data.phone);
} else {
uni.showToast({
title: res.data.msg,
icon: 'none'
})
}
}
})
},
//登录
doLogin(username, phone) {
uni.showLoading({
title: '登录中',
mask: true
});
uni.request({
url: this.globalData.baseUrl + '/blade-auth/getToken',
method: 'POST',
data: {
openId: this.globalData.openId,
username: username,
phone: phone
},
header: {
'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0'
},
success: (res) => {
if (res.data.code == 200) {
uni.setStorageSync('token', res.data.data.access_token);
} else {
uni.showToast({
title: res.data.msg,
icon: 'none'
})
}
},
complete: () => {
uni.hideLoading();
}
})
},
//微信登陆
wxLogin() {
uni.login({
"provider": "weixin",
"onlyAuthorize": true, // 微信登录仅请求授权认证
success: (event) => {
const {
code
} = event;
//客户端成功获取授权临时票据(code),向业务服务器发起登录请求。
uni.request({
url: this.globalData.baseUrl + '/app/login', //仅为示例,并非真实接口地址。
method: 'POST',
data: {
code: event.code
},
success: (res) => {
if (res.data.code == 200) {
uni.setStorageSync('openId', res.data.data.openid);
if (res.data.data.userInfo) {
uni.setStorageSync('userInfo', res.data.data.userInfo);
}
} else {
uni.showToast({
title: res.data.msg,
icon: 'none'
})
}
}
});
},
fail: function(err) {
// 登录授权失败
// err.code是错误码
console.log(err, '授权登录失败')
}
})
},
}
}
</script>
<style lang="scss">
@import '@/uni_modules/uni-scss/index.scss';
/* #ifndef APP-PLUS-NVUE */
/* uni.css - 通用组件、模板样式库,可以当作一套ui库应用 */
@import './common/uni.css';
// @import '@/static/customicons.css';
/* H5 兼容 pc 所需 */
/* #ifdef H5 */
@media screen and (min-width: 768px) {
body {
overflow-y: scroll;
}
}
/* 顶栏通栏样式 */
/* .uni-top-window {
left: 0;
right: 0;
} */
uni-page-body {
background-color: #F5F5F5 !important;
min-height: 100% !important;
height: auto !important;
}
.uni-top-window uni-tabbar .uni-tabbar {
background-color: #fff !important;
}
.uni-app--showleftwindow .hideOnPc {
display: none !important;
}
/* #endif */
/* 以下样式用于 hello uni-app 演示所需 */
page {
background-color: #efeff4;
height: 100%;
font-size: 28rpx;
/* line-height: 1.8; */
}
.fix-pc-padding {
padding: 0 50px;
}
.uni-header-logo {
padding: 30rpx;
flex-direction: column;
justify-content: center;
align-items: center;
margin-top: 10rpx;
}
.uni-header-image {
width: 100px;
height: 100px;
}
.uni-hello-text {
color: #7A7E83;
}
.uni-hello-addfile {
text-align: center;
line-height: 300rpx;
background: #FFF;
padding: 50rpx;
margin-top: 10px;
font-size: 38rpx;
color: #808080;
}
/* #endif*/
</style>