소스 검색

1.增加上传头像功能

zhangmengjie 5 년 전
부모
커밋
0a546d5566
6개의 변경된 파일1034개의 추가작업 그리고 956개의 파일을 삭제
  1. 3 1
      pages/Login.js
  2. 951 941
      pages/PersonalInfo.js
  3. 18 13
      pages/services/api.js
  4. 58 0
      pages/services/user.js
  5. 1 0
      pages/utils/request.js
  6. 3 1
      pages/utils/wechat.js

+ 3 - 1
pages/Login.js

@@ -157,6 +157,7 @@ export default class Login extends BasePage {
 					usermap.set('status', result.data.user.status);
 					usermap.set('uid', result.data.user.uid);
 					usermap.set('ageGroup', result.data.user.ageGroup);
+					map.set('avatar', res.data.avatar);
 					//登陆成功了,可以存储用户数据到本地
 					console.log('===============手机号登录成功=====================');
 					console.log(commonutil.mapToJson(usermap));
@@ -182,7 +183,7 @@ export default class Login extends BasePage {
 					deviceCode: this.state.deviceCode,
 					openId: user['openid'],
 					unionId: user['unionid'],
-					avatar: user['province'] + user['city'],
+					avatar: user['headimgurl'],
 					sex: +user['sex'],
 					nickName: user['nickname']
 				}
@@ -208,6 +209,7 @@ export default class Login extends BasePage {
 					usermap.set('status', result.data.user.status);
 					usermap.set('uid', result.data.user.uid);
 					usermap.set('ageGroup', result.data.user.ageGroup);
+					usermap.set('avatar', result.data.user.avatar);
 					console.log('===============微信登录成功=====================');
 					console.log(commonutil.mapToJson(usermap));
 					console.log('===============微信登录成功=====================');

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 951 - 941
pages/PersonalInfo.js


+ 18 - 13
pages/services/api.js

@@ -1,18 +1,23 @@
 const url = {
-  library_url: "http://ott80testlibrary.yifangjiaoyu.cn/mobile/page",
-  schedule_url: "http://ott80test-schedule.yifangjiaoyu.cn/mobile/schedule/",
-  user_url: "http://ott80test-base.yifangjiaoyu.cn/mobile/user"
+	library_url: 'http://ott80testlibrary.yifangjiaoyu.cn/mobile/page',
+	schedule_url: 'http://ott80test-schedule.yifangjiaoyu.cn/mobile/schedule/',
+	user_url: 'http://ott80test-base.yifangjiaoyu.cn/mobile/user',
+	upload_img: 'http://ott80test-base.yifangjiaoyu.cn/file/upload'
 };
 
 export default class APIConfig {
-  static getLibraryUrl(path) {
-    return url.library_url + path;
-  }
-  static getScheduleUrl(path) {
-    console.log(33333, url.schedule_url + path);
-    return url.schedule_url + path;
-  }
-  static getUserUrl(path) {
-    return url.user_url + path;
-  }
+	static getLibraryUrl(path) {
+		return url.library_url + path;
+	}
+	static getScheduleUrl(path) {
+		console.log(33333, url.schedule_url + path);
+		return url.schedule_url + path;
+	}
+	static getUserUrl(path) {
+		return url.user_url + path;
+	}
+
+	static getUploadImg() {
+		return url.upload_img;
+	}
 }

+ 58 - 0
pages/services/user.js

@@ -19,6 +19,50 @@ export default class user {
 		return request(APIConfig.getUserUrl(``), opts);
 	}
 
+	/** 
+	* //上传头像
+	* @return 返回Promise 
+	*/
+	static async uploadImage(photo_url) {
+		const file_uid = await getuid();
+		let formData = new FormData();
+		formData.append('file', {
+			uri: photo_url,
+			name: file_uid + '.jpg',
+			type: 'image/jpeg'
+		});
+		let options = {};
+		options.body = formData;
+		options.headers = { 'Content-Type': 'multipart/form-data', uid: file_uid };
+		options.method = 'POST';
+		return fetch(APIConfig.getUploadImg(), options)
+			.then((response) => {
+				console.log('res1', response);
+				if (response.status >= 200 && response.status < 300) {
+					return response;
+				}
+				const error = new Error(response.statusText);
+				error.response = response;
+				throw error;
+			})
+			.then((response) => {
+				return response.json();
+			})
+			.then((data) => {
+				console.log('data', data);
+				if (!data.success) {
+					const code = data;
+				}
+				return data;
+			})
+			.catch((err) => {
+				console.log('err', err);
+				return {
+					err
+				};
+			});
+	}
+
 	//绑定微信
 	static bind_wechat(opts) {
 		return request(APIConfig.getUserUrl(`/wechatBind`), opts);
@@ -43,3 +87,17 @@ export default class user {
 		return request(APIConfig.getUserUrl(``), opts);
 	}
 }
+
+async function getuid() {
+	const uid = await storage
+		.load({
+			key: 'userInfo'
+		})
+		.catch((error) => {
+			return '';
+		});
+	if (uid === '') {
+		return '';
+	}
+	return JSON.parse(uid).uid;
+}

+ 1 - 0
pages/utils/request.js

@@ -117,4 +117,5 @@ async function getuid() {
 	}
 	return JSON.parse(uid).uid;
 }
+
 export default request;

+ 3 - 1
pages/utils/wechat.js

@@ -26,8 +26,10 @@ export default class wechat {
 							res['access_token'] +
 							'&openid=' +
 							res['openid'];
-						console.log('getUserUrl:' + getUserUrl);
 						request(getUserUrl).then((user) => {
+							console.log('微信返回信息');
+							console.log('user', user);
+							console.log('====================================');
 							callback(user);
 						});
 					});