瀏覽代碼

baseurl & login

lhl 3 年之前
父節點
當前提交
8d03ff5ae5
共有 13 個文件被更改,包括 122 次插入82 次删除
  1. 5 2
      App.vue
  2. 2 3
      api/login.js
  3. 1 1
      api/set.js
  4. 12 2
      api/user.js
  5. 1 1
      manifest.json
  6. 4 2
      pages/public/login.vue
  7. 9 9
      pages/public/register.vue
  8. 4 4
      pages/set/userinfo.vue
  9. 17 11
      pages/user/user.vue
  10. 1 1
      store/index.js
  11. 5 1
      store/model/user.js
  12. 3 1
      utils/newRequest.js
  13. 58 44
      utils/request.js

+ 5 - 2
App.vue

@@ -20,11 +20,14 @@ export default {
 		...mapMutations('user', ['setUserInfo', 'login', 'hasLogin'])
 	},
 	onLaunch: function(urlObj) {
-		let obj = this;
+		let obj = this;
+		let systemInfo = uni.getSystemInfoSync();
+		let lang = systemInfo.language || 'zh-CN'
+		uni.setStorageSync('lang',lang)
 		// 加载缓存中的用户信息
 		let userInfo = uni.getStorageSync('userInfo') || '';
 		// 判断是否拥有用户信息
-		if (userInfo.uid) {
+		if (userInfo.id) {
 			//更新登陆状态
 			uni.getStorage({
 				key: 'userInfo',

+ 2 - 3
api/login.js

@@ -18,10 +18,9 @@ export function register(data) {
 }
 // 验证码
 export function verify(data) {
-	// type=register为注册
-	// type=login为登录
+	//event : 注册 registe  修改密码 resetpwd   changemobile 修改手机号
 	return request({
-		url: '/api/register/verify',
+		url: '/api/captcha',
 		method: 'post',
 		data
 	});

+ 1 - 1
api/set.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 修改用户信息
 export function userEdit(data) {
 	return request({
-		url: '/api/user/edit',
+		url: '/api/user/profile',
 		method: 'post',
 		data
 	});

+ 12 - 2
api/user.js

@@ -1,4 +1,5 @@
-import request from '@/utils/request'
+import request from '@/utils/request'
+import { upFilse} from '@/utils/request';
 
 // 订单统计信息
 export function orderData(data) {
@@ -12,7 +13,7 @@ export function orderData(data) {
 // 获取用户信息
 export function getUserInfo(data) {
 	return request({
-		url: '/api/userinfo',
+		url: '/api/user',
 		method: 'get',
 		data
 	});
@@ -99,6 +100,15 @@ export function delcollect(data) {
 		method: 'post',
 		data
 	});
+}
+
+//上传图片
+export function uploads(data) {
+	return upFilse({
+		url:'/api/upload',
+		method:'post',
+		data
+	});
 }
 
 

+ 1 - 1
manifest.json

@@ -73,7 +73,7 @@
         "devServer" : {
             "proxy" : {
                 "/api" : {
-                    "target" : "http://192.168.0.101/api",
+                    "target" : "http://bowin.frp.liuniu946.com/api",
                     // "changeOrigin": true,
                     "pathRewrite" : {
                         "/api" : "" // rewrite path

+ 4 - 2
pages/public/login.vue

@@ -226,12 +226,14 @@
 						password: obj.passward
 					})
 					.then(function(e) {
-						uni.setStorageSync('token', e.data.token);
+						uni.setStorageSync('token', e.data.userinfo.token);
+						// 保存返回用户数据
+						obj.setUserInfo(e.data.userinfo);
 						obj.$store.commit('hasLogin', true);
 						getUserInfo({}).then(e => {
 							obj.login();
 							// 保存返回用户数据
-							obj.setUserInfo(e.data);
+							// obj.setUserInfo(e.data.userinfo);
 							let ur = uni.getStorageSync('present') || '/pages/index/index';
 							//成功跳转首页
 							uni.switchTab({

+ 9 - 9
pages/public/register.vue

@@ -73,7 +73,7 @@ export default {
 				obj.$api.msg('请输入电话号码');
 				return;
 			}
-			if (!/(^1[3|4|5|7|8][0-9]{9}$)/.test(this.phone)) {
+			if (!/(^1[2|3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone)) {
 				obj.$api.msg('请输入正确的手机号');
 				return;
 			}
@@ -93,13 +93,13 @@ export default {
 			// 	obj.$api.msg('请输入邀请码');
 			// 	return;
 			// }
-			// if (obj.code == '') {
-			// 	obj.$api.msg('请输入验证码');
-			// 	return;
-			// }
+			if (obj.code == '') {
+				obj.$api.msg('请输入验证码');
+				return;
+			}
 			register({
-				account: obj.phone, //账号
-				// captcha: obj.code, //验证码
+				mobile: obj.phone, //账号
+				code: obj.code, //验证码
 				password: obj.password ,//密码
 				spread:this.invitation//上级推广人
 			}).then(function(e) {
@@ -138,8 +138,8 @@ export default {
 				}, 1000);
 				//调用验证码接口
 				verify({
-					phone: obj.phone,
-					type: 'register'
+					mobile: obj.phone,
+					event: 'register'
 				})
 					.then(({ data }) => {})
 					.catch(err => {

+ 4 - 4
pages/set/userinfo.vue

@@ -2,7 +2,7 @@
 	<view class="content">
 		<view class="row1">
 			<text class="tit">头像</text>
-			<view class="background-img" @click.stop="imgsub"><image class="background-img" v-model="userInfo.avatar" :src="userInfo.avatar" mode="aspectFill"></image></view>
+			<view class="background-img" @click.stop="imgsub"><image class="background-img" :src="userInfo.avatar" mode="aspectFill"></image></view>
 		</view>
 		<view class="row">
 			<text class="tit">昵称</text>
@@ -10,11 +10,11 @@
 		</view>
 		<view class="row">
 			<text class="tit">ID</text>
-			<input class="input" type="text"  disabled="true" v-model="userInfo.uid" placeholder-class="placeholder" />
+			<input class="input" type="text"  disabled="true" v-model="userInfo.id" placeholder-class="placeholder" />
 		</view>
 		<view class="row">
 			<text class="tit">账户</text>
-			<input class="input" type="text"  disabled="true" v-model="userInfo.account" placeholder-class="placeholder" />
+			<input class="input" type="text"  disabled="true" v-model="userInfo.username" placeholder-class="placeholder" />
 		</view>
 		<view class="add-btn" @click="confirm">提交</view>
 		<view class="out" @click="toLogout">退出登录</view>
@@ -46,7 +46,7 @@ export default{
 				filename: ''
 			}).then(data => {
 				console.log("data",data);
-				this.userInfo.avatar = data[0].url;
+				this.userInfo.avatar = data.fullurl;
 			})
 		},
 		confirm() {

+ 17 - 11
pages/user/user.vue

@@ -2,10 +2,10 @@
 	<view class="container">
 		<view class="user-info-box">
 			<view class="detail flex">
-				<view class="portrait-box"><image class="portrait" src=" ../../static/error/missing-face.png"></image></view>
+				<view class="portrait-box"><image class="portrait" :src=" userInfo.avatar || '../../static/error/missing-face.png'"></image></view>
 				<view class="info-box">
-					<view class="username">游客</view>
-					<view class="font-size-sm">13800000000</view>
+					<view class="username">{{userInfo.nickname||"游客"}}</view>
+					<view class="font-size-sm">{{userInfo.mobile || ''}}</view>
 				</view>
 			</view>
 			<view class="config iconfont"><text class="setting iconsetting" @click="navTo('/pages/set/userinfo')"></text></view>
@@ -55,25 +55,31 @@
 
 <script>
 import uniPopup from '@/components/uni-popup/uni-popup.vue';
-import uniCopy from '@/utils/uni-copy.js';
+import uniCopy from '@/utils/uni-copy.js';
+
+import { mapState, mapMutations } from 'vuex';
+import { saveUrl, interceptor } from '@/utils/loginUtils.js';
 export default {
 	data() {
 		return {
 			text:'123456789'
 		};
+	},
+	computed:{
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	},
 	methods: {
 		navTo(url) {
-			// if (!this.hasLogin) {
-			// 	// 保存地址
-			// 	saveUrl();
-			// 	// 登录拦截
-			// 	interceptor();
-			// } else {
+			if (!this.hasLogin) {
+				// 保存地址
+				saveUrl();
+				// 登录拦截
+				interceptor();
+			} else {
 			uni.navigateTo({
 				url
 			});
-			// }
+			}
 		},
 		open() {
 			console.log('点击出现弹窗');

+ 1 - 1
store/index.js

@@ -6,7 +6,7 @@ Vue.use(Vuex)
 const store = new Vuex.Store({
 	state: {
 		// baseURL:"http://yrh.liuniu946.com",//'http://eb.shuibo.net',//请求地址配置 
-		baseURL:'http://base.liuniu946.com',//请求地址配置 
+		baseURL:'http://bowin.frp.liuniu946.com',//请求地址配置 
 		urlFile:'/index',//项目部署所在文件夹
 		userInfo: {}, //登录信息
 		loginInterceptor:false,//是否打开强制登录

+ 5 - 1
store/model/user.js

@@ -7,7 +7,8 @@ let state = {
 		order_count: 0, //订单总数
 		unpaid_count: 0 //待付款
 	}, //订单信息
-	hasLogin: false, //是否登录
+	hasLogin: false, //是否登录
+	lang: 'zh-cn'
 }
 
 let mutations = {
@@ -47,6 +48,9 @@ let mutations = {
 	// 保存订单信息
 	setOrderInfo(state, provider) {
 		state.orderInfo = provider;
+	},
+	setLang(state,provider) {
+		state.lang = provider;
 	}
 
 }

+ 3 - 1
utils/newRequest.js

@@ -142,7 +142,9 @@ let service = {
 							filePath: path,
 							name: 'file',
 							header: {
-								"Authori-zation": 'Bearer ' + uni.getStorageSync('token')
+								"bowintoken": uni.getStorageSync('token'),
+								"bowinlang": uni.getStorageSync('lang') || 'zh-CN'
+								
 							},
 							success: (uploadFileRes) => {
 								if ("string" === typeof uploadFileRes.data) {

+ 58 - 44
utils/request.js

@@ -6,47 +6,48 @@ import {
 } from '@/utils/loginUtils.js';
 // 请求完成后拦截
 service.interceptors.response(
-	response => {
-		try {
-			let res = response.data;
-			// 解析字符串为数字
-			if (res.status !== 200) {
-				console.log(res.status);
-				if (res.status == 410000) {
-					// 调用退出登录方法清空用户信息
-					store.commit('user/logout');
-					// 判断是否开启强制登录
-					uni.showModal({
-						title: "登陆",
-						content: '您未登录!是否马上登录?',
-						success: (e) => {
-							// 判断是否点击确认按钮
-							if (e.confirm) {
-								// 保存当前页面地址
-								saveUrl()
-								// 跳转页面
-								interceptor()
-							}
-						}
-					})
-				} else {
-					if (res.msg != '系统出现异常') {
-						uni.showToast({
-							title: res.msg,
-							duration: 1500,
-							mask: false,
-							icon: 'none',
-						})
-
-					}
-				}
-				return Promise.reject(res)
-			} else {
-				return res
-			}
-		} catch (e) {
-			console.log(e);
-		}
+	response => {
+		try {
+			let res = response.data;
+			// 解析字符串为数字
+			if (res.code !== 1) {
+				console.log(res.code);
+				if (res.code == 401) {
+					// 调用退出登录方法清空用户信息
+					console.log('清空登录信息')
+					store.commit('user/logout');
+					// 判断是否开启强制登录
+					uni.showModal({
+						title: "登陆",
+						content: '您未登录!是否马上登录?',
+						success: (e) => {
+							// 判断是否点击确认按钮
+							if (e.confirm) {
+								// 保存当前页面地址
+								saveUrl()
+								// 跳转页面
+								interceptor()
+							}
+						}
+					})
+				} else {
+					if (res.msg != '系统出现异常') {
+						uni.showToast({
+							title: res.msg,
+							duration: 1500,
+							mask: false,
+							icon: 'none',
+						})
+	
+					}
+				}
+				return Promise.reject(res)
+			} else {
+				return res
+			}
+		} catch (e) {
+			console.log(e);
+		}
 	},
 	error => {
 		uni.showToast({
@@ -62,15 +63,28 @@ service.interceptors.response(
 // 请求前拦截器
 service.interceptors.request(
 	config => {
-		let token = uni.getStorageSync('token') || '';
+		let token = uni.getStorageSync('token') || '';
+		let lang = ''
+		try {
+		    const systemInfo = uni.getSystemInfoSync();
+			lang = systemInfo.language || 'zh-CN'
+		} catch (e) {
+		   console.log(e)
+		   lang = 'zh-CN'
+		}
+		
 		// console.log(config);
 		if (!config.header) {
 			config.header = {
-				"Authori-zation": 'Bearer ' + token,
+				// "Authori-zation": 'Bearer ' + token,
+				"bowintoken": token,
+				"bowinlang": lang
 			}
 		} else {
 			// 添加key请求头
-			config.header["Authori-zation"] = 'Bearer ' + token;
+			// config.header["Authori-zation"] = 'Bearer ' + token;
+			config.header["bowintoken"] = token
+			config.header["bowinlang"] = lang
 		}
 		return config
 	},