Browse Source

feat: 存token

tall
lucky 4 years ago
parent
commit
b8a178d846
  1. 1
      .eslintrc.js
  2. 1
      CHANGELOG.md
  3. 9
      src/apis/project.js
  4. 4
      src/main.js
  5. 2
      src/mock/mock.js
  6. 2
      src/pages.json
  7. 15
      src/pages/project/project.vue
  8. 19
      src/store/user/actions.js
  9. 24
      src/store/user/mutations.js
  10. 6
      src/store/user/state.js
  11. 6
      src/utils/request.js

1
.eslintrc.js

@ -36,5 +36,6 @@ module.exports = {
Vuex: true,
axios: true,
_: true,
uni: true,
},
};

1
CHANGELOG.md

@ -28,6 +28,7 @@
- | 日常任务修改 | [dfa7ee2](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/dfa7ee2)
- | 图标修改 | [54bca09](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/54bca09)
- | 无基本变化 | [21ac4bb](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/21ac4bb)
- | 修改角色样式 | [73e268e](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/73e268e)
- | 组件新建 | [89c0035](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/89c0035)

9
src/apis/project.js

@ -0,0 +1,9 @@
const apiUrl = process.env.VUE_APP_API_URL;
const tall = `${apiUrl}/defaultwbs`;
const install = (Vue, vm) => {
vm.$u.api = { ...vm.$u.api } || {};
vm.$u.api.findProjectById = params => vm.$u.post(`${tall}/project/findProjectById`, params);
};
export default { install };

4
src/main.js

@ -23,8 +23,12 @@ const app = new Vue({ ...App, store });
import request from '@/utils/request.js';
import user from '@/apis/user.js';
import project from '@/apis/project.js';
window.vm = app;
Vue.use(request, app);
Vue.use(user, app);
Vue.use(project, app);
app.$mount();

2
src/mock/mock.js

@ -67,7 +67,7 @@ export default [
msg: 'ok',
success: true,
data: {
name: 'string',
name: '默认项目',
projectId: 1235555,
},
});

2
src/pages.json

@ -1,7 +1,7 @@
{
"pages": [
{
"path": "pages/index/index",
"path": "pages/project/project",
"style": {
"navigationStyle": "custom" ,
"navigationBarTextStyle": "white"

15
src/pages/index/index.vue → src/pages/project/project.vue

@ -10,16 +10,24 @@
</template>
<script>
import { mapState, mapMutations, mapActions } from 'vuex';
export default {
data() {
return { title: 'Hello', height: '', scrollHeight: null };
},
onLoad() {
computed: { ...mapState('user', ['user', 'token']) },
onLoad(options) {
console.log('options: ', options);
console.log(this.$u.config.v);
// this.openPage();
// DEBUG:
this.$u.api.getToken('1217651354919636992');
this.getUserId('1217651354919636992');
const params = { param: { projectId: '1235555' } };
this.$u.api.findProjectById(params);
},
mounted() {
@ -27,6 +35,9 @@ export default {
},
methods: {
...mapMutations('user', ['setToken', 'setUser']),
...mapActions('user', ['getUserId']),
openPage() {
console.log('open');
this.$u.route('/pages/pinch/pinch');

19
src/store/user/actions.js

@ -1,3 +1,20 @@
const actions = {};
const actions = {
/**
* 通过userId获取token
* @param {any} commit
* @param {string} userId 用户id
*/
async getUserId({ commit }, userId) {
try {
uni.$u.api.getToken(userId).then(res => {
commit('setToken', res.token);
commit('setUser', res);
return res;
});
} catch (error) {
throw error || '获取个人信息失败';
}
},
};
export default actions;

24
src/store/user/mutations.js

@ -1,3 +1,25 @@
const mutations = {};
const mutations = {
/**
* 设置存储token
* @param {object} state
* @param {string} token
*/
setToken(state, token) {
if (!token) return;
state.token = token;
uni.setStorageSync('anyringToken', token);
},
/**
* 设置user数据
* @param {object} state
* @param {object} user
*/
setUser(state, user) {
if (!user) return;
state.user = { ...user };
uni.setStorageSync('user', JSON.stringify(user));
},
};
export default mutations;

6
src/store/user/state.js

@ -1,3 +1,5 @@
const state = {};
const state = {
token: '',
user: null,
};
export default state;

6
src/utils/request.js

@ -13,9 +13,9 @@ const install = (Vue, vm) => {
Vue.prototype.$u.http.interceptor.request = config => {
// TODO: 如果在白名单里 则不需要加token
// if (vm.$store.state.user.token) {
// config.header.Authorization = `Bearer ${vm.$store.state.user.token}`;
// }
if (vm.$store.state.user.token) {
config.header.Authorization = `Bearer ${vm.$store.state.user.token}`;
}
return config;
};

Loading…
Cancel
Save