zoukankan      html  css  js  c++  java
  • vue微博回调空页面

    1.vue微博回调空页面

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

    1.1 页面路径 componentsoauth.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>                
  • 相关阅读:
    LintCode Python 简单级题目 488.快乐数
    LintCode Python 简单级题目 100.删除排序数组中的重复数字 101.删除排序数组中的重复数字II
    LintCode Python 简单级题目 373.奇偶分割数组
    LintCode Python 简单级题目 39.恢复旋转排序数组
    LintCode Python 简单级题目 35.翻转链表
    LintCode Python 简单级题目 451.两两交换链表中的节点
    LintCode Python 简单级题目 174.删除链表中倒数第n个节点
    aws查看官方centos镜像imageid
    linux shell脚本查找重复行/查找非重复行/去除重复行/重复行统计
    php配置优化-生产环境应用版
  • 原文地址:https://www.cnblogs.com/GlfLss/p/13798774.html
Copyright © 2011-2022 走看看