登录、获取用户基本信息

This commit is contained in:
itgaojian163 2023-01-13 16:21:31 +08:00
parent aae2813dd8
commit 7b3433bc8e
11 changed files with 552 additions and 487 deletions

38
App.vue
View File

@ -1,21 +1,25 @@
<script>
export default {
onLaunch: function() {
console.log('App Launch');
},
onShow: function() {
console.log('App Show');
this.$initPageTitle(); //
},
onHide: function() {
console.log('App Hide');
}
};
export default {
onLaunch: function() {
console.log('App Launch');
},
onShow: function() {
console.log('App Show');
this.$initPageTitle(); //
},
onHide: function() {
console.log('App Hide');
},
globalData: {
token: "",
userInfo:{}
}
};
</script>
<style lang="scss">
/*每个页面公共css */
@import './common/uni.css';
@import './common/iconfont.css';
@import './common/app.scss';
</style>
/*每个页面公共css */
@import './common/uni.css';
@import './common/iconfont.css';
@import './common/app.scss';
</style>

View File

@ -245,7 +245,7 @@ const request = function(req) {
let header = {
'platform': platform,
'token': accessToken,
'Content-type': 'application/x-www-form-urlencoded'
'Content-type': 'application/json'
};
if (req.header) {
header = Object.assign(header, req.header);

View File

@ -8,10 +8,11 @@ let api = {
},
news: {
getMainFun: apiRoot + clinetNews + "app/newsdirectories/listnewsdirectoriesrelease",
getNewsList: apiRoot + clinetNews + "app/newscontent/listpagenewscontentrelease", //获取新闻列表 newsDirectoriesId
NEWS_MAIN_TAB: "213f660a-1660-48da-b244-56de7cf5c27e",
NEWS_BANNER_ID:"eab0ca3c-d35d-4c02-9397-ace2bdd10fc1",
imgUrl:apiRoot+clinetNews+"route/file/downloadfile/true/"
getNewsList: apiRoot + clinetNews +
"app/newscontent/listpagenewscontentrelease", //获取新闻列表 newsDirectoriesId
NEWS_MAIN_TAB: "213f660a-1660-48da-b244-56de7cf5c27e",
NEWS_BANNER_ID: "eab0ca3c-d35d-4c02-9397-ace2bdd10fc1",
imgUrl: apiRoot + clinetNews + "route/file/downloadfile/true/"
},
article: {
index: apiRoot + 'article/index.html',
@ -30,11 +31,11 @@ let api = {
},
user: {
getVerifyCode: apiRoot + clinetUser + "api/sms/getverificationcode/", //get 获取验证码
doLogin: apiRoot + "usercenter/sign/login", //post 登录
doRegister: apiRoot + "usercenter/app/register/saveregisteruser", //post 注册
doLogin: apiRoot + clinetUser + "app/sign/login", //post 登录
doRegister: apiRoot + clinetUser + "app/register/saveregisteruser", //post 注册
doChangePhone: apiRoot + clinetUser + "app/user/updatephoneusername", //修改手机号 put
doChangePwd: apiRoot + clinetUser + "app/user/updateuserpassword", //put 修改密码
getUserInfo: apiRoot + clinetUser + "app/user/getappuser", //获取用户基础信息
},
wechat: {
miniAppLogin: apiRoot + 'wechat/miniAppLogin',

View File

@ -1,5 +1,5 @@
<template>
<view class="page">
<view class="page" @click="openLogin()">
<view class="status-bar"></view>
<view class="content">
<!-- Banner -->
@ -65,7 +65,8 @@
showNoData: false,
showPageLoading: true,
showNavFloat: false,
navBarHeight: ''
navBarHeight: '',
token: ""
};
},
onShow() {
@ -83,7 +84,13 @@
// uni.removeStorageSync('source');
// this.loadData();
// }
this.token = getApp().globalData.token
let userInfo = getApp().globalData.userInfo
if (this.token && this.token != '' && userInfo.name == undefined) {
this.getUserInfo()
}
},
onShareAppMessage() {
return {
path: '/pages/article/index',
@ -102,6 +109,9 @@
// #endif
this.getCategory();
this.getBannerList();
// let accessToken = uni.getStorageSync('accessToken');
// if()
},
onPullDownRefresh() {
uni.showLoading({
@ -110,6 +120,11 @@
this.loadData();
},
methods: {
openLogin() {
uni.navigateTo({
url: '/pages/user/login'
})
},
/*初始化滚动*/
initScroller(scroller) {
this.scroller = scroller;
@ -256,19 +271,37 @@
.newsContentCoverList[0]
.contentCoverId
}
console.log(res.rows)
this.showPageLoading = false;
this.scroller.endSuccess();
this.slider = res.rows
this.list = []
}
},
complete: res => {
this.scroller.endByPage(0, 0);
uni.stopPullDownRefresh();
uni.hideLoading();
}
});
}
},
getUserInfo() {
this.$app.request({
url: this.$api.user.getUserInfo,
method: 'GET',
header: {
token: this.token
},
success: res => {
if (res) {
getApp().globalData.userInfo = res
}
console.log(getApp().globalData.userInfo)
},
complete: res => {
}
})
},
}
};
</script>

View File

@ -2,7 +2,9 @@
<view class="page">
<view class="status-bar"></view>
<view class="content">
<view class="logo" v-if="false"><image :lazy-load="true" src="../../static/images/logo.png"></image></view>
<view class="logo" v-if="false">
<image :lazy-load="true" src="../../static/images/logo.png"></image>
</view>
<view class="list">
<view class="item">
<iconfont type="mobile"></iconfont>
@ -10,7 +12,8 @@
</view>
<view class="item">
<iconfont type="pwd"></iconfont>
<input class="input" v-model="password" type="text" maxlength="32" placeholder="请输入密码" password="true" />
<input class="input" v-model="password" type="text" maxlength="32" placeholder="请输入密码"
password="true" />
</view>
</view>
<view class="button" hover-class="button-hover" @tap="bindLogin"><text>登录</text></view>
@ -24,165 +27,172 @@
</template>
<script>
import { mapState, mapMutations } from 'vuex';
import iconfont from '@/components/iconfont/iconfont.vue';
import validator from '@/common/validator';
export default {
components: {
iconfont
},
data() {
return {
mobile: '',
password: '',
originUrl: '',
hasLogin: false
};
},
onUnload() {
if (this.originUrl.search('/pages/common/login') != '-1') {
uni.reLaunch({
url: '../article/index'
});
}
},
onShow() {},
onLoad(e) {
let loginOriginUrl = uni.getStorageSync('loginOriginUrl');
if (loginOriginUrl) {
this.originUrl = loginOriginUrl;
setTimeout(() => {
uni.removeStorageSync('loginOriginUrl');
}, 1000);
console.log(this.originUrl);
}
},
computed: mapState(['isLogin']),
methods: {
...mapMutations(['login']),
bindLogin() {
if (!validator.checkMobile(this.mobile)) {
return;
} else if (this.password == '') {
this.$alert('请输入密码');
return;
import {
mapState,
mapMutations
} from 'vuex';
import iconfont from '@/components/iconfont/iconfont.vue';
import validator from '@/common/validator';
import md5 from "@/common/md5";
export default {
components: {
iconfont
},
data() {
return {
mobile: '',
password: '',
originUrl: '',
hasLogin: false
};
},
onUnload() {
if (this.originUrl.search('/pages/user/login') != '-1') {
uni.reLaunch({
url: '../news/index'
});
}
uni.showLoading({
title: '登录中…'
});
this.$app.request({
url: this.$api.user.login,
data: {
mobile: this.mobile,
password: this.password
},
method: 'POST',
dataType: 'json',
success: res => {
if (res.code == 0) {
/*隐藏加载框*/
uni.hideLoading();
/*更新登录状态,保存用户数据*/
this.hasLogin = true;
this.login(res.data);
uni.setStorageSync('platform', 'h5');
uni.setStorageSync('source', 'login');
/*登录后跳转*/
console.log(this.originUrl);
if (this.originUrl) {
uni.navigateBack();
} else {
// #ifndef H5
uni.switchTab({
url: '/pages/article/index'
});
// #endif
// #ifdef H5
uni.navigateTo({
url: '/pages/article/index'
});
// #endif
}
} else {
this.$alert(res.msg);
}
},
onShow() {},
onLoad(e) {
let loginOriginUrl = uni.getStorageSync('loginOriginUrl');
if (loginOriginUrl) {
this.originUrl = loginOriginUrl;
setTimeout(() => {
uni.removeStorageSync('loginOriginUrl');
}, 1000);
console.log(this.originUrl);
}
},
computed: mapState(['isLogin']),
methods: {
...mapMutations(['login']),
bindLogin() {
if (!validator.checkMobile(this.mobile)) {
return;
} else if (this.password == '') {
this.$alert('请输入密码');
return;
}
});
uni.showLoading({
title: '登录中…'
});
var md5Pwd = md5(md5(md5(this.password)))
console.log(md5Pwd)
this.$app.request({
url: this.$api.user.doLogin,
data: {
username: this.mobile,
password: md5Pwd,
appVersion: 12
},
method: 'POST',
dataType: 'json',
success: res => {
uni.hideLoading();
console.log(res)
if (res != undefined) {
/*更新登录状态,保存用户数据*/
this.hasLogin = true;
this.login(res.data);
uni.setStorageSync('source', 'login');
getApp().globalData.token = res.data
/*登录后跳转*/
console.log(this.originUrl);
if (this.originUrl) {
uni.navigateBack();
} else {
// #ifndef H5
uni.switchTab({
url: '/pages/news/index'
});
// #endif
// #ifdef H5
uni.navigateTo({
url: '/pages/news/index'
});
// #endif
}
} else {
this.$alert(res.msg);
}
}
});
}
}
}
};
};
</script>
<style lang="scss">
.content {
display: flex;
flex-direction: column;
justify-content: center;
.logo {
margin-top: 143rpx;
margin-left: auto;
margin-right: auto;
image {
height: 65rpx;
width: 360rpx;
}
}
.list {
.content {
display: flex;
flex-direction: column;
padding-top: 120rpx;
padding-left: 100rpx;
padding-right: 100rpx;
justify-content: center;
.item {
.logo {
margin-top: 143rpx;
margin-left: auto;
margin-right: auto;
image {
height: 65rpx;
width: 360rpx;
}
}
.list {
display: flex;
flex-direction: column;
padding-top: 120rpx;
padding-left: 100rpx;
padding-right: 100rpx;
.item {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
height: 100rpx;
border-bottom: 1upx solid rgba(230, 230, 230, 1);
.icon {
color: #ababab;
margin-right: 5rpx;
font-size: 40rpx;
}
.input {
flex: 1;
text-align: left;
font-size: 30rpx;
margin-left: 16rpx;
}
}
}
.button {
margin-top: 100rpx;
}
.other {
display: flex;
flex-direction: row;
justify-content: space-between;
justify-content: center;
align-items: center;
height: 100rpx;
border-bottom: 1upx solid rgba(230, 230, 230, 1);
font-size: 30rpx;
margin-top: 60rpx;
color: #8cc7b5;
text-align: center;
height: 40rpx;
line-height: 40rpx;
.icon {
color: #ababab;
margin-right: 5rpx;
font-size: 40rpx;
}
.input {
flex: 1;
text-align: left;
font-size: 30rpx;
margin-left: 16rpx;
text {
font-size: 24rpx;
margin-left: 15rpx;
margin-right: 15rpx;
}
}
}
.button {
margin-top: 100rpx;
}
.other {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
font-size: 30rpx;
margin-top: 60rpx;
color: #8cc7b5;
text-align: center;
height: 40rpx;
line-height: 40rpx;
text {
font-size: 24rpx;
margin-left: 15rpx;
margin-right: 15rpx;
}
}
}
</style>

View File

@ -11,8 +11,9 @@ const store = new Vuex.Store({
login(state, userInfo) {
state.isLogin = true;
state.currentUser = userInfo;
console.log(userInfo)
uni.setStorageSync("isLogin", '1');
uni.setStorageSync("accessToken", userInfo.token);
uni.setStorageSync("accessToken", userInfo);
uni.setStorageSync('currentUser', userInfo);
},
logout(state) {

View File

@ -1,7 +1,7 @@
var isReady=false;var onReadyCallbacks=[];
var isServiceReady=false;var onServiceReadyCallbacks=[];
var __uniConfig = {"pages":["pages/news/index","pages/duty/index","pages/user/index","pages/user/login","pages/user/register"],"window":{"navigationBarTextStyle":"white","navigationBarTitleText":"全民植树","navigationBarBackgroundColor":"#8cc7b5","backgroundColor":"#F8F8F8"},"tabBar":{"color":"#000000","selectedColor":"#000000","backgroundColor":"#FFFFFF","list":[{"pagePath":"pages/news/index","iconPath":"static/images/nav/icon_home.png","selectedIconPath":"static/images/nav/icon_home_hover.png","text":"新闻资讯"},{"pagePath":"pages/duty/index","iconPath":"static/images/nav/icon_favorite.png","selectedIconPath":"static/images/nav/icon_favorite_hover.png","text":"尽职尽责"},{"pagePath":"pages/user/index","iconPath":"static/images/nav/icon_user.png","selectedIconPath":"static/images/nav/icon_user_hover.png","text":"个人中心"}]},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"tree_planting","compilerVersion":"3.6.15","entryPagePath":"pages/news/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
var __uniConfig = {"pages":["pages/news/index","pages/duty/index","pages/user/index","pages/user/login","pages/user/register"],"window":{"navigationBarTextStyle":"white","navigationBarTitleText":"全民植树","navigationBarBackgroundColor":"#8cc7b5","backgroundColor":"#F8F8F8"},"tabBar":{"color":"#000000","selectedColor":"#000000","backgroundColor":"#FFFFFF","list":[{"pagePath":"pages/news/index","iconPath":"static/images/nav/icon_home.png","selectedIconPath":"static/images/nav/icon_home_hover.png","text":"新闻资讯"},{"pagePath":"pages/duty/index","iconPath":"static/images/nav/icon_favorite.png","selectedIconPath":"static/images/nav/icon_favorite_hover.png","text":"尽职尽责"},{"pagePath":"pages/user/index","iconPath":"static/images/nav/icon_user.png","selectedIconPath":"static/images/nav/icon_user_hover.png","text":"个人中心"}]},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"tree_planting","compilerVersion":"3.6.17","entryPagePath":"pages/news/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
var __uniRoutes = [{"path":"/pages/news/index","meta":{"isQuit":true,"isTabBar":true},"window":{"titleNView":false,"navigationStyle":"custom","enablePullDownRefresh":false,"disableScroll":true,"navigationBarTitleText":"全民植树","navigationBarTextStyle":"black","bounce":"none"}},{"path":"/pages/duty/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarBackgroundColor":"#FFFFFF","navigationBarTextStyle":"black","navigationBarTitleText":"尽职尽责","enablePullDownRefresh":true}},{"path":"/pages/user/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarBackgroundColor":"#FFFFFF","navigationBarTextStyle":"black","navigationBarTitleText":"个人中心","enablePullDownRefresh":true}},{"path":"/pages/user/login","meta":{},"window":{"navigationBarBackgroundColor":"#FFFFFF","navigationBarTextStyle":"black","navigationBarTitleText":"登录","enablePullDownRefresh":false}},{"path":"/pages/user/register","meta":{},"window":{"navigationBarBackgroundColor":"#FFFFFF","navigationBarTextStyle":"black","navigationBarTitleText":"注册","enablePullDownRefresh":false}}];
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});

File diff suppressed because one or more lines are too long

View File

@ -279,7 +279,15 @@ var render = function () {
var _c = _vm._self._c || _h
return _c(
"uni-view",
{ staticClass: _vm._$g(0, "sc"), attrs: { _i: 0 } },
{
staticClass: _vm._$g(0, "sc"),
attrs: { _i: 0 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
},
},
},
[
_c("uni-view", { staticClass: _vm._$g(1, "sc"), attrs: { _i: 1 } }),
_c(

View File

@ -1 +1 @@
{"@platforms":["android","iPhone","iPad"],"id":"","name":"tree_planting","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#8cc7b5"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"google":{"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\"/>"]},"apple":{},"plugins":{"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"safearea":{"background":"#FFFFFF","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"3.6.15","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#000000","selectedColor":"#000000","backgroundColor":"#FFFFFF","list":[{"pagePath":"pages/news/index","iconPath":"static/images/nav/icon_home.png","selectedIconPath":"static/images/nav/icon_home_hover.png","text":"新闻资讯"},{"pagePath":"pages/duty/index","iconPath":"static/images/nav/icon_favorite.png","selectedIconPath":"static/images/nav/icon_favorite_hover.png","text":"尽职尽责"},{"pagePath":"pages/user/index","iconPath":"static/images/nav/icon_user.png","selectedIconPath":"static/images/nav/icon_user_hover.png","text":"个人中心"}],"borderStyle":"rgba(0,0,0,0.4)","height":"50px","child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"}}
{"@platforms":["android","iPhone","iPad"],"id":"","name":"tree_planting","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#8cc7b5"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"google":{"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\"/>"]},"apple":{},"plugins":{"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"safearea":{"background":"#FFFFFF","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"3.6.17","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#000000","selectedColor":"#000000","backgroundColor":"#FFFFFF","list":[{"pagePath":"pages/news/index","iconPath":"static/images/nav/icon_home.png","selectedIconPath":"static/images/nav/icon_home_hover.png","text":"新闻资讯"},{"pagePath":"pages/duty/index","iconPath":"static/images/nav/icon_favorite.png","selectedIconPath":"static/images/nav/icon_favorite_hover.png","text":"尽职尽责"},{"pagePath":"pages/user/index","iconPath":"static/images/nav/icon_user.png","selectedIconPath":"static/images/nav/icon_user_hover.png","text":"个人中心"}],"borderStyle":"rgba(0,0,0,0.4)","height":"50px","child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"}}

File diff suppressed because one or more lines are too long