1.vue微博回调空页面

注:微博回调空页面为:http://127.0.0.1:8888/oauth/callback/

1.1 页面路径 components\oauth.vue

<template>
<div>
<div v-show='visiable'>
绑定用户
用户名: <input
type="text"
v-model="username"
@blur="check_username"
>
<span>{{username_message}}</span>
密码: <input
type="password"
v-model="password"
>
<button @click="bindUser">绑定</button>
</div>
</div>
</template>
<script>
import { oauth_callback_post, oauth_binduser_post, user_count } from './axios_api/ap'
export default {
data() {
return {
visiable: false, // 绑定用户窗口
uid: '', // weibo_uid
username: '',
password: '',
username_message: '',
username_error: false
}
},
mounted() {
this.getCode()
},
methods: {
// 判断用户名
check_username() {
console.log('判断用户名')
console.log(this.username == '')
var reg = new RegExp(/^[a-zA-Z0-9_-]{4,16}$/); //字符串正则表达式 4到14位(字 母,数字,下划线,减号)
if (this.username == '') {
this.username_message = '用户名不能为空'
this.username_error = true
return false
}
if (!reg.test(this.username)) {
this.username_message = '用户名格式不正确'
this.username_error = true
return false
} else {
// 去后端检查用户名使用数量
user_count({ type: 'username', data: this.username }).then((res) => {
console.log(res)
if (res.data.count > 0) {
this.username_message = '用户名已存在, 请输入密码'
this.username_error = false
} else {
this.username_message = '用户名可用, 将创建新用户,请输入密码'
this.username_error = false
}
})
}
},
getCode() {
// 获取url中的code 信息
// 当前url 是 http://mysyl.com:8080/oauth/callback/? code=fe6cbe07708aecf4a2b3d942ed692c4c
let code = this.$route.query.code
console.log(this.$route.query)
//给后端发送code
let params = { code: code }
oauth_callback_post(params).then((resp) => {
console.log(resp)
// code: 0
// msg: "授权成功"
// data: {type: "1", uid: "7410919278"}
if (resp.data.type == '0') {
// code: 0
// msg: "登录成功"
// data: {
// authenticated: "true"
// email: ""
// id: 1
// name: "admin"
// role: null
// token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6ImFkbWluIiw iZXhwIjoxNTk3OTAwNTcyLCJlbWFpbCI6IiIsIm9yaWdfaWF0IjoxNTk3ODE0MTcyfQ.aQT7GSR_xQBPM lB4_k8-zTHnx0ow3OC2KHa3C8MgilY"
// type: "0"
// username: "admin"}
let res = resp.data localStorage.setItem('username', res.username)
// localStorage.setItem('img', res.img)
localStorage.setItem('token', res.token)
localStorage.setItem('uid', res.id)
this.login_username = res.username this.opened = false
// alert(res.message)
this.$router.push('/')
}
if (resp.data.type == '1') {
this.visiable = true
this.uid = resp.data.uid
}
})
},
bindUser() {
if(this.username_error){
return
}
// 发送 用户名, 密码, weibo_uid 到后端接口, 进行绑定
let params = { username: this.username, password: this.password, weibo_uid: this.uid }
oauth_binduser_post(params).then((resp) => {
console.log(resp)
let res = resp.data localStorage.setItem('username', res.username)
// localStorage.setItem('img', res.img)
localStorage.setItem('token', res.token)
localStorage.setItem('uid', res.id)
this.login_username = res.username
this.opened = false
// alert(res.message)
this.$router.push('/')
})
}
}
}
</script>

最新文章

  1. 【干货分享】32本优秀的 JavaScript 免费电子书
  2. js日历表
  3. Linux学习笔记(9)Linux常用命令之关机重启命令
  4. Android Studio快速添加Gson以及GsonFormat的使用
  5. php excel (转)
  6. simplexml_load_string获取xml节点里的属性值
  7. 回车跳到下一个EDIT
  8. Cppcheck 用法(上篇)
  9. 正则表达式(.NET)
  10. yii框架基本操作
  11. 3.Redis常用命令:String
  12. MapReduce中一次reduce方法的调用中key的值不断变化分析及源码解析
  13. vue之登录和token处理
  14. Spring + Shiro 项目 + HttpSessionListener 【调用springService问题】&amp;【Session失效问题】
  15. 修改CentOS的IP地址
  16. c# 中foreach 循环
  17. 关于Excel分析图插入到论文的问题
  18. catkin-tools
  19. sql 用xml方式插入数据乱码问题解决方法
  20. Linux删除重复行 排序和不排序的做法--转载

热门文章

  1. pycharm配置django rest framework
  2. Java学习的第十八天
  3. 程序员小抄——GitHub 热点速览 Vol.44
  4. Java 将JSON反射到实体类
  5. 震惊!很多人都不知道 CSS Grid 框架早就有了!
  6. 全排列算法--递归实现(Java)
  7. 咀嚼Lock和Synchronized锁
  8. Linux AWK工作原理
  9. 类似阿里双十一的可视化看板是怎么做的?无人机三维GIS看板也来了!
  10. 内核crash&gt;&gt;&gt;磁盘空间小 怎么处理