Browse Source

feat: 获取手机唯一码

test2
xuesinan 4 years ago
parent
commit
3f60cf8771
  1. 14
      App.vue
  2. 1
      CHANGELOG.md
  3. 4
      components/Projects/ProjectItem.vue
  4. 260
      pages/index/index.vue
  5. 2
      pages/user/accountLogin.vue
  6. 3
      pages/user/login.vue
  7. 2
      pages/user/rigister.vue
  8. 2
      store/user/actions.js
  9. 1
      utils/cacheAndRequest.js
  10. 6
      utils/request.js

14
App.vue

@ -19,18 +19,20 @@ export default {
this.getSystemInfo(); // this.getSystemInfo(); //
const token = this.$store.state.user.token || this.$storage.getStorageSync('anyringToken') || ''; const token = this.$store.state.user.token || this.$storage.getStorageSync('anyringToken') || '';
if (!token) { if (token) {
this.$ui.showToast('获取用户信息失败, 请登录');
// TODO:
return;
} else {
this.$store.commit('user/setToken', token); this.$store.commit('user/setToken', token);
} }
// if (!token) {
// this.$ui.showToast(', ');
// // TODO:
// return;
// }
// await this.syncLocalDataToStore(options.query.u); // localStoragestore // await this.syncLocalDataToStore(options.query.u); // localStoragestore
// token = await this.getToken(); // token = await this.getToken();
this.noPhone(this.$store.state.user.phone); // this.noPhone(this.$store.state.user.phone);
this.$store.dispatch('socket/initSocket'); this.$store.dispatch('socket/initSocket');
}, },

1
CHANGELOG.md

@ -49,6 +49,7 @@
- | 时间轴任务 | [98abdf6](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/98abdf6) - | 时间轴任务 | [98abdf6](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/98abdf6)
- | 项目列表排序 | [ad0ce75](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/ad0ce75) - | 项目列表排序 | [ad0ce75](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/ad0ce75)
- | 修复一些内容 | [3cdb1ce](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/3cdb1ce) - | 修复一些内容 | [3cdb1ce](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/3cdb1ce)
- | 子组件传参 | [489e218](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/489e218)
app.vue | 修复获取token报错的问题 | [9120d54](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/9120d54) app.vue | 修复获取token报错的问题 | [9120d54](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/9120d54)
createTask | 修复createTask v-model的问题 | [b20d3f0](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/b20d3f0) createTask | 修复createTask v-model的问题 | [b20d3f0](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/b20d3f0)
- | defineExpose, defineEmits不需要引入 | [902cacc](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/902cacc) - | defineExpose, defineEmits不需要引入 | [902cacc](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/902cacc)

4
components/Projects/ProjectItem.vue

@ -12,9 +12,9 @@
</view> </view>
<view class="flex items-center text-xs text-gray-400"> <view class="flex items-center text-xs text-gray-400">
<view class="pr-2">{{ dayjs(item.startTime).format('MM-DD HH:mm') }}</view> <view class="pr-2">{{ dayjs(+item.startTime).format('MM-DD HH:mm') }}</view>
<view class="pl-2">{{ dayjs(item.endTime).format('MM-DD HH:mm') }}</view> <view class="pl-2">{{ dayjs(+item.endTime).format('MM-DD HH:mm') }}</view>
</view> </view>
</view> </view>

260
pages/index/index.vue

@ -1,141 +1,145 @@
<template> <template>
<!-- <view class="flex flex-col h-full bg-gray-50" @click="openAuth"> --> <!-- <view class="flex flex-col h-full bg-gray-50" @click="openAuth"> -->
<view class="flex flex-col h-full bg-gray-50"> <view class="flex flex-col h-full bg-gray-50">
<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" />
<!-- 上传 导入wbs --> <!-- 上传 导入wbs -->
<Upload @success="onUploadSuccess" @error="onUploadError" /> <Upload @success="onUploadSuccess" @error="onUploadError" />
</view> </view>
<u-button @click="toLogin">登录</u-button> <u-button @click="toLogin">登录</u-button>
<!-- 项目列表 --> <!-- 项目列表 -->
<Projects @getProjects="getProjects" class="flex-1 overflow-y-auto" /> <Projects @getProjects="getProjects" class="flex-1 overflow-y-auto" />
<!-- 全局提示框 --> <!-- 全局提示框 -->
<u-top-tips ref="uTips"></u-top-tips> <u-top-tips ref="uTips"></u-top-tips>
</view> </view>
</template> </template>
<script setup> <script setup>
import { reactive, computed, watchEffect, ref } from 'vue'; import { reactive, computed, watchEffect, ref } from 'vue';
import { useStore } from 'vuex'; import { useStore } from 'vuex';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
const store = useStore(); const store = useStore();
const token = computed(() => store.state.user.token); const token = computed(() => store.state.user.token);
const uTips = ref(null); const uTips = ref(null);
const data = reactive({ const data = reactive({
calendar: null, calendar: null,
days: [], // days: [],
}); });
// token getProjects();
watchEffect(() => { handleFindPoint();
if (!token.value) return;
if (token.value) { // token
getProjects(); // watchEffect(() => {
handleFindPoint(); // if (!token.value) return;
// if (token.value) {
// getProjects();
// handleFindPoint();
// }
// });
//
function getProjects(start = dayjs().startOf('day').valueOf(), end = dayjs().endOf('day').valueOf()) {
uni.$catchReq.getProjects(start, end, (err, data) => {
if (err) {
console.error('err: ', err);
} else {
data.forEach(item => {
item.show = false;
});
store.commit('project/setProjects', data);
}
});
} }
});
async function handleFindPoint(start, end) {
// try {
function getProjects(start = dayjs().startOf('day').valueOf(), end = dayjs().endOf('day').valueOf()) { const startTime = start || dayjs().startOf('month').valueOf();
// const data = await this.$u.api.getProjects(start, end); const endTime = end || dayjs().endOf('month').valueOf();
uni.$catchReq.getProjects(start, end, (err, data) => { const res = await uni.$u.api.findRedPoint(startTime, endTime);
if (err) { store.commit('project/setDotList', res);
console.error('err: ', err); } catch (error) {
} else { console.log('error: ', error);
data.forEach(item => {
item.show = false;
});
store.commit('project/setProjects', data);
} }
});
}
async function handleFindPoint(start, end) {
try {
const startTime = start || dayjs().startOf('month').valueOf();
const endTime = end || dayjs().endOf('month').valueOf();
const res = await uni.$u.api.findRedPoint(startTime, endTime);
store.commit('project/setDotList', res);
} catch (error) {
console.log('error: ', error);
} }
}
//
// const onDateChange = event => {
const onDateChange = event => { const day = dayjs(event.fullDate);
const day = dayjs(event.fullDate); const start = day.startOf('date').valueOf();
const start = day.startOf('date').valueOf(); const end = day.endOf('date').valueOf();
const end = day.endOf('date').valueOf(); getProjects(start, end);
getProjects(start, end); };
};
//
// const onUploadSuccess = () => {
const onUploadSuccess = () => { uni.$ui.showToast('导入成功,即将打开新项目', 3000);
uni.$ui.showToast('导入成功,即将打开新项目', 3000); // uTips.show({
// uTips.show({ // title: '',
// title: '', // type: 'success',
// type: 'success', // duration: '3000',
// duration: '3000', // });
// }); };
};
//
// const onUploadError = error => {
const onUploadError = error => { uni.$ui.showToast('导入失败', 6000);
uni.$ui.showToast('导入失败', 6000); // uTips.show({
// uTips.show({ // title: error || '',
// title: error || '', // type: 'error',
// type: 'error', // duration: '6000',
// duration: '6000', // });
// }); };
};
// /
// / function onMove(event) {
function onMove(event) { const y = event.changedTouches[0].pageY;
const y = event.changedTouches[0].pageY; if (y - prevY > 0) {
if (y - prevY > 0) { // weekMode=true weekMode=false
// weekMode=true weekMode=false data.calendar.weekMode && (data.calendar.weekMode = false);
data.value.calendar.weekMode && (data.value.calendar.weekMode = false); } else if (y - prevY < 0) {
} else if (y - prevY < 0) { // weekMode=false weekMode=true
// weekMode=false weekMode=true !data.calendar.weekMode && (data.calendar.weekMode = true);
!data.value.calendar.weekMode && (data.value.calendar.weekMode = true); }
prevY = y;
data.calendar.initDate();
} }
prevY = y;
data.value.calendar.initDate();
}
function toLogin() { function toLogin() {
uni.navigateTo({ url: '/pages/user/login' }) uni.navigateTo({
} url: '/pages/user/login'
})
}
</script> </script>
<style> <style>
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.logo { .logo {
height: 200rpx; height: 200rpx;
width: 200rpx; width: 200rpx;
margin-top: 200rpx; margin-top: 200rpx;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
margin-bottom: 50rpx; margin-bottom: 50rpx;
} }
.text-area { .text-area {
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
.title { .title {
font-size: 36rpx; font-size: 36rpx;
color: #8f8f94; color: #8f8f94;
} }
</style> </style>

2
pages/user/accountLogin.vue

@ -81,7 +81,7 @@
store.commit('user/setToken', res.token); store.commit('user/setToken', res.token);
store.commit('user/setUser', res); store.commit('user/setUser', res);
uni.$storage.setStorageSync('anyringToken', res.token || ''); uni.$storage.setStorageSync('anyringToken', res.token || '');
uni.$storage.setStorageSync('user', JSON.stringify(res)); uni.$storage.setStorageSync('user', JSON.stringify(res) || '');
uni.$ui.hideLoading(); uni.$ui.hideLoading();

3
pages/user/login.vue

@ -98,11 +98,10 @@
}); });
let res = await uni.$u.api.signin(params); let res = await uni.$u.api.signin(params);
console.log(res, '----------')
store.commit('user/setToken', res.token); store.commit('user/setToken', res.token);
store.commit('user/setUser', res); store.commit('user/setUser', res);
uni.$storage.setStorageSync('anyringToken', res.token || ''); uni.$storage.setStorageSync('anyringToken', res.token || '');
uni.$storage.setStorageSync('user', JSON.stringify(res)); uni.$storage.setStorageSync('user', JSON.stringify(res) || '');
uni.$ui.hideLoading(); uni.$ui.hideLoading();

2
pages/user/rigister.vue

@ -108,7 +108,7 @@
store.commit('user/setToken', res.token); store.commit('user/setToken', res.token);
store.commit('user/setUser', res); store.commit('user/setUser', res);
uni.$storage.setStorageSync('anyringToken', res.token || ''); uni.$storage.setStorageSync('anyringToken', res.token || '');
uni.$storage.setStorageSync('user', JSON.stringify(res)); uni.$storage.setStorageSync('user', JSON.stringify(res) || '');
uni.$ui.hideLoading(); uni.$ui.hideLoading();

2
store/user/actions.js

@ -10,7 +10,7 @@ const actions = {
commit('setToken', res.token); commit('setToken', res.token);
commit('setUser', res); commit('setUser', res);
uni.$storage.setStorageSync('anyringToken', res.token || ''); uni.$storage.setStorageSync('anyringToken', res.token || '');
uni.$storage.setStorageSync('user', JSON.stringify(res)); uni.$storage.setStorageSync('user', JSON.stringify(res) || '');
return res; return res;
} catch (error) { } catch (error) {
uni.$ui.showToast(error.msg || '获取个人信息失败'); uni.$ui.showToast(error.msg || '获取个人信息失败');

1
utils/cacheAndRequest.js

@ -31,6 +31,7 @@ export default {
}) })
.catch(err => !remote && fn(err)); .catch(err => !remote && fn(err));
} }
waitTokenRequest(() => { waitTokenRequest(() => {
// 拿到api数据后 再用api的数据 // 拿到api数据后 再用api的数据
uni.$u.api uni.$u.api

6
utils/request.js

@ -22,6 +22,12 @@ export function setupHttp(app) {
config.header.Authorization = `Bearer ${token}`; config.header.Authorization = `Bearer ${token}`;
} }
uni.getSystemInfo({
success: function (res) {
config.header.deviceId = res.deviceId;
}
})
return config; return config;
}; };

Loading…
Cancel
Save