Commit f52bfe02 by 蒋勇

d

parent dd847763
import axios from '@/libs/api.request' import axios from '@/libs/api.request'
export const login = ({ userName, password }) => { export const login = (upobj) => {
const data = { let url="/web/auth/userCtl/pmlogin"
userName, if(upobj.mobile){
password if(axios.confapp.regrole=="pr"){
if(!axios.confapp.companykey){
console.log("当第三方应用调转到注册页面时,如果是注册自由个体用户,那么需要提供公司key")
return false
}
url="/web/auth/userCtl/pmloginByVCodeForFreeUser"//注册个人用户,请求头必须添加公司KEY,如果不添加需要报错
}else{
url="/web/auth/userCtl/pmloginByVCode"//注册租户
} }
console.log("==============================login") }else{
url="/web/auth/userCtl/pmlogin"
}
return axios.request({ return axios.request({
url: '/web/auth/userCtl/pmlogin', url: url,
data, data:upobj,
method: 'post' method: 'post'
}).catch((e)=>{ }).catch((e)=>{
console.log(e) console.log(e)
...@@ -21,6 +31,13 @@ export const getUserInfo = (token) => { ...@@ -21,6 +31,13 @@ export const getUserInfo = (token) => {
method: 'post' method: 'post'
}) })
} }
export const sendVCode = (obj) => {
return axios.request({
url: '/web/auth/userCtl/pmSendVCode',
method: 'post',
data:obj
})
}
export const logout = (token) => { export const logout = (token) => {
return axios.request({ return axios.request({
......
...@@ -61,7 +61,7 @@ export default { ...@@ -61,7 +61,7 @@ export default {
this.$refs.loginForm.validate((valid) => { this.$refs.loginForm.validate((valid) => {
if (valid) { if (valid) {
this.$emit('on-success-valid', { this.$emit('on-success-valid', {
userName: this.form.userName, userName: this.form.userName.trim(),
password: this.form.password password: this.form.password
}) })
} }
......
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
</Input> </Input>
</FormItem> </FormItem>
<FormItem prop="vcode"> <FormItem prop="vcode">
<Input v-model="form.vcode" placeholder="请输入收到的验证码"> <Input v-model="form.vcode" placeholder="请输入收到的验证码">
<span slot="prepend"> <span slot="prepend">
<Icon :size="14" type="md-lock"></Icon> <Icon :size="14" type="md-lock"></Icon>
</span> </span>
<span slot="append"> <span slot="append">
<Button type="primary" v-if="!isshowtime" @click="sendVCode">发送验证码</Button> <Button type="primary" v-if="!isshowtime" @click="sendVCode">发送验证码</Button>
<span v-if="isshowtime">{{ leftseconds }}</span> <span v-if="isshowtime">{{ leftseconds }}</span>
</span> </span>
</Input> </Input>
</FormItem> </FormItem>
...@@ -25,65 +25,66 @@ ...@@ -25,65 +25,66 @@
</template> </template>
<script> <script>
export default { export default {
name: 'PhoneForm', name: "PhoneForm",
props: { props: {
mobileRules: { mobileRules: {
type: Array, type: Array,
default: () => { default: () => {
return [ return [
{ required: true, message: '电话号码不能为空', trigger: 'blur' } { required: true, message: "电话号码不能为空", trigger: "blur" }
] ];
} }
}, },
vcodeRules: { vcodeRules: {
type: Array, type: Array,
default: () => { default: () => {
return [ return [{ required: true, message: "验证码不能为空", trigger: "blur" }];
{ required: true, message: '验证码不能为空', trigger: 'blur' }
]
} }
} }
}, },
data () { data() {
return { return {
form: { form: {
mobile: '', mobile: "",
vcode: '' vcode: ""
}, },
isshowtime:false, isshowtime: false,
leftseconds:60 leftseconds: 60
} };
}, },
computed: { computed: {
rules () { rules() {
return { return {
userName: this.mobileRules, mobile: this.mobileRules,
password: this.vcodeRules vcode: this.vcodeRules
} };
} }
}, },
methods: { methods: {
sendVCode(){ sendVCode() {
let tmp=61 if (this.form.mobile.trim() != "") {
this.isshowtime=true let tmp = 60;
var th=setInterval(()=>{ this.isshowtime = true;
this.leftseconds= tmp-- var th = setInterval(() => {
if(tmp==0){ this.leftseconds = tmp--;
clearInterval(th) if (tmp == 0) {
this.isshowtime=false clearInterval(th);
} this.isshowtime = false;
},1000) }
}, 1000);
this.$emit("onsendvcode", { mobile: this.form.mobile});
}
}, },
handleSubmit () { handleSubmit() {
this.$refs.loginForm.validate((valid) => { this.$refs.loginForm.validate(valid => {
if (valid) { if (valid) {
this.$emit('on-success-valid', { this.$emit("on-success-valid", {
userName: this.form.mobile, mobile: this.form.mobile,
password: this.form.vcode vcode: this.form.vcode
}) });
} }
}) });
} }
} }
} };
</script> </script>
...@@ -3,7 +3,7 @@ export default { ...@@ -3,7 +3,7 @@ export default {
* @description 配置显示在浏览器标签的title * @description 配置显示在浏览器标签的title
*/ */
title: '智慧中台 ', title: '智慧中台 ',
appkey:'860b4f4f-ac2f-4623-8b16-62764d154e91', appkey:'109d8eb3-11ce-4886-b73b-4fdb15837d1b',
/** /**
* @description token在Cookie中存储的天数,默认1天 * @description token在Cookie中存储的天数,默认1天
*/ */
......
...@@ -2,5 +2,5 @@ import HttpRequest from '@/libs/axios' ...@@ -2,5 +2,5 @@ import HttpRequest from '@/libs/axios'
import config from '@/config' import config from '@/config'
const baseUrl = process.env.NODE_ENV === 'development' ? config.baseUrl.dev : config.baseUrl.pro const baseUrl = process.env.NODE_ENV === 'development' ? config.baseUrl.dev : config.baseUrl.pro
const axios = new HttpRequest(baseUrl) const axios = new HttpRequest(baseUrl,config)
export default axios export default axios
import axios from 'axios' import axios from 'axios'
import store from '@/store' import store from '@/store'
import { getToken } from './util' import { getToken } from './util'
import configapp from '@/config'
// import { Spin } from 'iview' // import { Spin } from 'iview'
const addErrorLog = errorInfo => { const addErrorLog = errorInfo => {
const { statusText, status, request: { responseURL } } = errorInfo const { statusText, status, request: { responseURL } } = errorInfo
...@@ -15,15 +14,22 @@ const addErrorLog = errorInfo => { ...@@ -15,15 +14,22 @@ const addErrorLog = errorInfo => {
} }
class HttpRequest { class HttpRequest {
constructor (baseUrl = baseURL) { constructor (baseUrl = baseURL,confapp) {
this.baseUrl = baseUrl this.baseUrl = baseUrl
this.queue = {} this.queue = {}
this.confapp=confapp
} }
getInsideConfig () { getInsideConfig () {
let appkey=null let appkey=null
let companykey=null
let regrole=null
try{ try{
let params = new URLSearchParams(location.search) let params = new URLSearchParams(location.search)
appkey=params.get("appkey") appkey=params.get("appkey")
companykey=params.get("companykey")
regrole=params.get("regrole")
this.confapp.regrole=regrole
this.confapp.companykey=companykey
}catch(e){ }catch(e){
console.log(e) console.log(e)
} }
...@@ -31,7 +37,10 @@ class HttpRequest { ...@@ -31,7 +37,10 @@ class HttpRequest {
baseURL: this.baseUrl, baseURL: this.baseUrl,
headers: { headers: {
Authorization:"Bearer "+getToken(), Authorization:"Bearer "+getToken(),
XAPPKEY:appkey?appkey:configapp.appkey XAPPKEY:appkey?appkey: this.confapp.appkey,
XCOMPANYKEY:companykey,
XREGROLE:regrole,//专用于注册时,区分是否是非租户注册
XBIZPATH:this.confapp.bizpath
} }
} }
return config return config
......
...@@ -88,6 +88,9 @@ export const getMenuByRouter = (list, access) => { ...@@ -88,6 +88,9 @@ export const getMenuByRouter = (list, access) => {
export const getBreadCrumbList = (route, homeRoute) => { export const getBreadCrumbList = (route, homeRoute) => {
let homeItem = { ...homeRoute, icon: homeRoute.meta.icon } let homeItem = { ...homeRoute, icon: homeRoute.meta.icon }
let routeMetched = route.matched let routeMetched = route.matched
console.log(">>>>>>>>>>>>>>>>>===================")
console.log(routeMetched)
console.log(route)
if (routeMetched.some(item => item.name === homeRoute.name)) return [homeItem] if (routeMetched.some(item => item.name === homeRoute.name)) return [homeItem]
let res = routeMetched.filter(item => { let res = routeMetched.filter(item => {
return item.meta === undefined || !item.meta.hideInBread return item.meta === undefined || !item.meta.hideInBread
......
...@@ -24,7 +24,8 @@ const turnTo = (to, access, next) => { ...@@ -24,7 +24,8 @@ const turnTo = (to, access, next) => {
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
iView.LoadingBar.start() iView.LoadingBar.start()
const token = getToken() const token = getToken()
console.log(token,to.name) //console.log(token,to.path)
config.bizpath=to.path
if (!token && to.name !== LOGIN_PAGE_NAME) { if (!token && to.name !== LOGIN_PAGE_NAME) {
// 未登录且要跳转的页面不是登录页 // 未登录且要跳转的页面不是登录页
next({ next({
......
...@@ -74,13 +74,10 @@ export default { ...@@ -74,13 +74,10 @@ export default {
}, },
actions: { actions: {
// 登录 // 登录
handleLogin ({ commit }, { userName, password }) { handleLogin ({ commit }, upobj) {
userName = userName.trim() //userName = userName.trim()
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
login({ login(upobj).then(res => {
userName,
password
}).then(res => {
const rtn = res.data const rtn = res.data
console.log(rtn) console.log(rtn)
if(rtn.status==0){ if(rtn.status==0){
......
...@@ -101,6 +101,7 @@ export default { ...@@ -101,6 +101,7 @@ export default {
}, },
props: { props: {
packageName: String, packageName: String,
modelName:String,
metaName: { metaName: {
type: String, type: String,
default: "user_info" default: "user_info"
...@@ -332,7 +333,7 @@ export default { ...@@ -332,7 +333,7 @@ export default {
}); });
}, },
buildUrl(methodName) { buildUrl(methodName) {
let modelname = this.metaName.split("_")[0]; let modelname = this.modelName?this.modelName:this.metaName.split("_")[0];
console.log(modelname, ">>>>>>>>>>>>>>>>>>"); console.log(modelname, ">>>>>>>>>>>>>>>>>>");
let url = let url =
"/web/" + this.packageName + "/" + modelname + "Ctl/" + methodName; "/web/" + this.packageName + "/" + modelname + "Ctl/" + methodName;
......
...@@ -5,17 +5,19 @@ ...@@ -5,17 +5,19 @@
<template> <template>
<div class="login"> <div class="login">
<div class="login-con"> <div class="login-con">
<Card icon="log-in" title="欢迎登录" :bordered="false" style="border-radius:0px"> <Card icon="log-in" :bordered="false" style="border-radius:0px">
<p slot="title" @click.prevent="ispasslogin=true"> <p slot="title" @click.prevent="ispasslogin=false">
<a href="#" >密码登录</a>
</p>
<p slot="extra" @click.prevent="ispasslogin=false">
<a href="#"> 验证码登录</a> <a href="#"> 验证码登录</a>
</p> </p>
<p slot="extra" @click.prevent="ispasslogin=true">
<a href="#" >密码登录</a>
</p>
<div class="form-con"> <div class="form-con">
<MobileForm v-if="!ispasslogin" @on-success-valid="handleSubmit" @onsendvcode="onsendvcode"></MobileForm>
<login-form v-if="ispasslogin" @on-success-valid="handleSubmit"></login-form> <login-form v-if="ispasslogin" @on-success-valid="handleSubmit"></login-form>
<MobileForm v-if="!ispasslogin" @on-success-valid="handleSubmit"></MobileForm>
<p class="login-tip">注册</p> <p class="login-tip">验证码登录,如果不存在就自动完成注册</p>
</div> </div>
</Card> </Card>
</div> </div>
...@@ -23,13 +25,16 @@ ...@@ -23,13 +25,16 @@
</template> </template>
<script> <script>
import {
sendVCode,
} from "@/api/user";
import LoginForm from '_c/login-form' import LoginForm from '_c/login-form'
import MobileForm from '_c/phone-form' import MobileForm from '_c/phone-form'
import { mapActions } from 'vuex' import { mapActions } from 'vuex'
export default { export default {
data(){ data(){
return{ return{
ispasslogin:true ispasslogin:false
} }
}, },
components: { components: {
...@@ -41,8 +46,14 @@ export default { ...@@ -41,8 +46,14 @@ export default {
'handleLogin', 'handleLogin',
'getUserInfo' 'getUserInfo'
]), ]),
handleSubmit ({ userName, password }) { onsendvcode(obj){
this.handleLogin({ userName, password }).then(res => { sendVCode(obj).then((res)=>{
let ret=res.data
console.log(res.data)
})
},
handleSubmit (upobj) {
this.handleLogin(upobj).then(res => {
this.$router.push({ this.$router.push({
name: this.$config.homeName name: this.$config.homeName
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment