Browse Source

feat: 获取用户收取那,提交用户信息

tall
wally 4 years ago
parent
commit
a3c54f1374
  1. 3
      CHANGELOG.md
  2. 2
      src/apis/tall.js
  3. 42
      src/mixins/userAuth.js
  4. 6
      src/pages/index/index.vue
  5. 5
      src/pages/phone-bind/phone-bind.vue

3
CHANGELOG.md

@ -1,4 +1,4 @@
# 0.1.0 (2021-09-01) # 0.1.0 (2021-09-02)
### 🌟 新功能 ### 🌟 新功能
范围|描述|commitId 范围|描述|commitId
@ -23,6 +23,7 @@
- | 上传逻辑变化 | 3ff1dc2 - | 上传逻辑变化 | 3ff1dc2
- | 任务状态时间显示 | 56f5183 - | 任务状态时间显示 | 56f5183
- | 任务进行中状态数字 | 27b7326 - | 任务进行中状态数字 | 27b7326
- | 修改小程序id | 4206bf2
- | 全局插件及默认插件位置修改 | 6c80d08 - | 全局插件及默认插件位置修改 | 6c80d08
- | 升级版本v3.1.0;tailwindcss添加class | 9ef05e1 - | 升级版本v3.1.0;tailwindcss添加class | 9ef05e1
- | 向右箭头图标变化 | 8e9ca55 - | 向右箭头图标变化 | 8e9ca55

2
src/apis/tall.js

@ -30,6 +30,8 @@ const install = (Vue, vm) => {
vm.$u.api.getToken = userId => vm.$u.get(`${tall}/users/userId`, { userId }); vm.$u.api.getToken = userId => vm.$u.get(`${tall}/users/userId`, { userId });
// 绑定手机号 // 绑定手机号
vm.$u.api.phoneBind = (phone, smsCode) => vm.$u.http.post(`${tall}/users/binding`, { phone, smsCode }); vm.$u.api.phoneBind = (phone, smsCode) => vm.$u.http.post(`${tall}/users/binding`, { phone, smsCode });
// 修改用户信息
vm.$u.api.updateUserInfo = params => vm.$u.http.post(`${tall}/users/userInfo`, params);
// 获取项目列表 // 获取项目列表
vm.$u.api.getProjects = (startTime, endTime) => vm.$u.post(`${tall}/project/query`, { startTime, endTime }); vm.$u.api.getProjects = (startTime, endTime) => vm.$u.post(`${tall}/project/query`, { startTime, endTime });

42
src/mixins/userAuth.js

@ -0,0 +1,42 @@
import { mapState } from 'vuex';
import { waitTokenRequest } from '@/utils/cacheAndRequest';
export default {
computed: mapState('user', ['token', 'user']),
methods: {
// 获取授权
openAuth() {
if (this.user && this.user.wxInfo && this.user.wxInfo.nickname) return; // 用户信息里有微信信息就不用再获取了
if (this.token) {
this.updateUserInfo();
} else {
waitTokenRequest(this.updateUserInfo);
}
},
// 弹出授权框
// 用户允许后 提交微信用户信息
updateUserInfo() {
/* #ifdef MP-WEIXIN */
uni.getUserProfile({
desc: 'TALL仅需要获取您的基本用户信息',
success: res => {
const { avatarUrl, city, country, gender, language, nickName, province } = res.userInfo;
this.$u.api.updateUserInfo({
city,
country,
headImgUrl: avatarUrl,
language,
nickname: nickName,
province,
sex: gender,
});
},
fail: error => {
console.log('error: ', error);
},
});
/* #endif */
},
},
};

6
src/pages/index/index.vue

@ -1,5 +1,5 @@
<template> <template>
<view class="flex flex-col h-full bg-gray-50"> <view class="flex flex-col h-full bg-gray-50" @click="openAuth">
<view class="relative" @touchmove="onMove"> <view class="relative" @touchmove="onMove">
<!-- 日历 --> <!-- 日历 -->
<Calendar @selected-change="onDateChange" :show-back="true" ref="calendar" @handleFindPoint="handleFindPoint" /> <Calendar @selected-change="onDateChange" :show-back="true" ref="calendar" @handleFindPoint="handleFindPoint" />
@ -17,10 +17,12 @@
<script> <script>
import { mapState, mapMutations } from 'vuex'; import { mapState, mapMutations } from 'vuex';
import UserAuthMixin from '@/mixins/userAuth';
let prevY = 0; let prevY = 0;
export default { export default {
mixins: [UserAuthMixin],
data() { data() {
return { return {
calendar: null, calendar: null,
@ -28,7 +30,7 @@ export default {
}; };
}, },
computed: mapState('user', ['token']), computed: mapState('user', ['token', 'user']),
watch: { watch: {
token(value) { token(value) {

5
src/pages/phone-bind/phone-bind.vue

@ -1,5 +1,5 @@
<template> <template>
<view class="wrap"> <view class="wrap" @click="openAuth">
<u-form :model="model" :rules="rules" ref="uForm" :errorType="errorType"> <u-form :model="model" :rules="rules" ref="uForm" :errorType="errorType">
<!-- 手机号 --> <!-- 手机号 -->
<u-form-item :rightIconStyle="{ color: '#888', fontSize: '32rpx' }" label="手机号码" prop="phone" label-width="160"> <u-form-item :rightIconStyle="{ color: '#888', fontSize: '32rpx' }" label="手机号码" prop="phone" label-width="160">
@ -27,7 +27,10 @@
</template> </template>
<script> <script>
import UserAuthMixin from '@/utils/userAuth';
export default { export default {
mixins: [UserAuthMixin],
data() { data() {
return { return {
model: { model: {

Loading…
Cancel
Save