08vue绑定用户页面
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>
												
											08vue绑定用户页面的更多相关文章
- vue绑定用户页面
		
1.vue微博回调空页面 微博回调空页面为: http://127.0.0.1:8888/oauth/callback/ 1.1 页面路径 components\oauth.vue <templ ...
 - DB2 数据库绑定用户授权命令
		
1.1 数据库绑定用户授权命令 db2 connect to opca db2 grant dbadm,createtab,bindadd,connect,create_not_fenced_rou ...
 - 微信绑定用户服务端代码-根据code获取openId然后绑定用户
		
目录结构: isa.qa.core.weixin.message.resp包和isa.qa.core.weixin.util包中为微信绑定的工具类,就不一一贴出代码,详见附件,下载地址: http:/ ...
 - PHPCMS V9 的手机门户wap绑定单页面
		
当前的Phpcms V9手机网站的设置还有点弱,绑定的栏目不能设置选择模板,而且不能绑定单页面page.不过可以自定义做到绑定单页面page这一个功能:1.修改phpcms\modules\wap\i ...
 - day108:MoFang:首页检测用户是否登录&在项目中使用MongoDB&用户页面更新用户信息&交易密码界面实现
		
目录 1.首页页面也要检测用户是否登录 2.在flask中使用MongoDB 3.用户页面更新用户信息 4.交易密码界面/密码修改界面/昵称修改界面初始化 5.交易密码实现 1.首页页面也要检测用户是 ...
 - Django-vue之emement-ui,绑定图片,页面挂载,路由跳转
		
一 emement-ui使用 首先在终端下载安装:npm install element-ui 在vue项目中的main.js下: import ElementUI from 'element-ui ...
 - 绑定用户id,用户权限认证
		
上面这个就是为了把user_id与文章关联起来 文章需要跟用户关联,所以要去文章模型中加以关联 这样就可以直接在模板中进行关联处理 权限认证 首先要创建policy php artisan make: ...
 - 使用VS Code调试Flutter(检查用户页面)
		
官方提供的是Flutter Widget Inspector,详见https://flutterchina.club/inspector/ 我用的是另外一种好用的调试工具 Dart DevTools ...
 - c# 用户页面
		
第一步: 第二步: 第三步: 结果:
 
随机推荐
- 线程池SingleThreadPool
			
只有一个核心线程,当被占用时,其他的任务需要进入队列等待 public class MainActivity extends AppCompatActivity { @Override protect ...
 - windows下nginx中配置端口转发 ----本文来自转载
			
什么是端口转发 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 转载原文链接:https://www.cnblogs.com/chanshuyi/ ...
 - 常用的实现Javaweb页面跳转的方式
			
我们有两大种方式来实现页面跳转:1.JS(javascript):2.jsp跳转 先说jsp(金j三s胖p):1.转发:request.getRequestDispatcher("1.jsp ...
 - LC滤波器简单设计法 - 一文读懂LC滤波器简单设计方法及原理介绍,LC值计算方法
			
LC滤波器概述 LC滤波器也称为无源滤波器,是传统的谐波补偿装置.LC滤波器之所以称为无源滤波器,顾名思义,就是该装置不需要额外提供电源.LC滤波器一般是由滤波电容器.电抗器和电阻器适当组合而成,与谐 ...
 - MySQL全面瓦解3:数据类型介绍与分析
			
概述 MySQL支持很多数据类型,以便我们能在复杂的业务场景中支持各种各样的数据格式,存储适当的数据内容.我们在设计数据库时,正确的使用数据库类型对整个数据库的整洁和高效,会有很大的帮助. 目前常用的 ...
 - 爬虫双色球所有的历史数据并保存到SQLite
			
前言 上一篇介绍了双色球走势图是怎么实现的,这一篇介绍怎么实现爬虫所有的双色球历史数据,也可以同步分享怎么同步福彩3D数据.采用的C#来实现的. 同步双色球的地址:https://datachart. ...
 - 如何处理 Kubeadm 搭建的集群证书过期问题
			
Kubeadm 证书过期处理 以下内容参考了如下链接:https://www.cnblogs.com/skymyyang/p/11093686.html 一.处理证书已过期的集群 使用 kubeadm ...
 - PHP代码审计04之strpos函数使用不当
			
前言 根据红日安全写的文章,学习PHP代码审计的第四节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完题目会用一个实例来加深巩固,这是之前写的,有兴趣可以去看看: PHP代码 ...
 - 在阿里云Ubuntu 14.04.5 LTS下安装nethogs0.8.5
			
由于默认安装的nethogs不能使用,提示:Creating socket failed while establishing local IP - are you root? 搜索资料后检查当前版本 ...
 - Linux下如何使用X86 CPU的GPIO
			
目录 1.前言 2.linux pinctrl子系统 3. pin controller driver 4.手动构造device 1.前言 在arm嵌入式开发中,各个外设具有固定的物理地址,我们可以直 ...