增加免登,抽奖记录
This commit is contained in:
parent
0543fbccc7
commit
b11f38584d
@ -13,13 +13,13 @@ module.exports = {
|
||||
assetsPublicPath: '/',
|
||||
proxyTable: {
|
||||
'/lz_management': {
|
||||
target: 'http://localhost:8080',
|
||||
target: 'http://192.168.43.94:8080',
|
||||
changeOrigin: true
|
||||
}
|
||||
},
|
||||
|
||||
// Various Dev Server settings
|
||||
host: IP, // can be overwritten by process.env.HOST
|
||||
host: '192.168.43.94', // can be overwritten by process.env.HOST
|
||||
port: 8001, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
||||
autoOpenBrowser: true,
|
||||
errorOverlay: true,
|
||||
|
||||
18
package-lock.json
generated
18
package-lock.json
generated
@ -3657,6 +3657,14 @@
|
||||
"randombytes": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"dingtalk-jsapi": {
|
||||
"version": "2.12.0",
|
||||
"resolved": "https://registry.npmjs.org/dingtalk-jsapi/-/dingtalk-jsapi-2.12.0.tgz",
|
||||
"integrity": "sha512-hpktx8R0bE7/XEarV47RhR89o2R9m5nKnm6gB27HKNzZaLyRenzyzQNCBR5KeJ/qqbRsPM/U8mZmUla7/bI5WQ==",
|
||||
"requires": {
|
||||
"promise-polyfill": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"dns-equal": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
|
||||
@ -15476,6 +15484,11 @@
|
||||
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
|
||||
"dev": true
|
||||
},
|
||||
"promise-polyfill": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-7.1.2.tgz",
|
||||
"integrity": "sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ=="
|
||||
},
|
||||
"proto-list": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
|
||||
@ -18493,6 +18506,11 @@
|
||||
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
|
||||
"dev": true
|
||||
},
|
||||
"vconsole": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/vconsole/-/vconsole-3.3.4.tgz",
|
||||
"integrity": "sha512-9yihsic96NPoMLQx/lCQwH9d89H0bbMW3LZPzo/t4yGQcS1X+vTCe9OHm1XSH7WNxzGDmcSwBiKLsFGwvJpQBg=="
|
||||
},
|
||||
"vendors": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
"axios": "^0.19.2",
|
||||
"babel-plugin-component": "0.10.1",
|
||||
"babel-polyfill": "6.26.0",
|
||||
"dingtalk-jsapi": "^2.12.0",
|
||||
"echarts": "^4.7.0",
|
||||
"element-ui": "^2.13.1",
|
||||
"gulp": "3.9.1",
|
||||
@ -34,6 +35,7 @@
|
||||
"sass-loader": "6.0.6",
|
||||
"svg-sprite-loader": "3.7.3",
|
||||
"v-charts": "^1.19.0",
|
||||
"vconsole": "^3.3.4",
|
||||
"vue": "2.5.16",
|
||||
"vue-cookie": "1.1.4",
|
||||
"vue-router": "3.0.1",
|
||||
|
||||
@ -32,3 +32,13 @@ export const apiUploadFile = params => {
|
||||
export const apiExportFile = params => {
|
||||
return http({ url: '/lz_management/staff/info/downloadTemplate', method: 'post', responseType: 'blob', data: params })
|
||||
}
|
||||
|
||||
// 钉钉免登录
|
||||
export const apiDingtalkLogin = data => {
|
||||
return http({ url: '/lz_management/dtlg/login', method: 'post', data })
|
||||
}
|
||||
|
||||
// 钉钉抽奖登记
|
||||
export const apiDingtalkLuck = data => {
|
||||
return http({ url: '/lz_management/dtlg/luck', method: 'post', data })
|
||||
}
|
||||
@ -9,7 +9,8 @@ import Router from 'vue-router'
|
||||
import { apiGetMenuNav } from '@/api/api_menu'
|
||||
import { isURL } from '@/utils/validate'
|
||||
import { clearLoginInfo } from '@/utils'
|
||||
|
||||
import VConsole from 'vconsole'
|
||||
let vConsole = new VConsole()// eslint-disable-line no-unused-vars
|
||||
Vue.use(Router)
|
||||
|
||||
// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢, 所以只有生产环境使用懒加载
|
||||
@ -17,6 +18,7 @@ const _import = require('./import-' + process.env.NODE_ENV)
|
||||
|
||||
// 全局路由(无需嵌套上左右整体布局)
|
||||
const globalRoutes = [
|
||||
{ path: '/dingtalkluck', component: _import('common/dingtalkluck'), name: 'dingtalkluck', meta: { title: '钉钉抽奖登记' } },
|
||||
{ path: '/404', component: _import('common/404'), name: '404', meta: { title: '404未找到' } },
|
||||
{ path: '/login', component: _import('common/login'), name: 'login', meta: { title: '登录' } }
|
||||
]
|
||||
@ -48,10 +50,16 @@ const mainRoutes = {
|
||||
beforeEnter (to, from, next) {
|
||||
let token = Vue.cookie.get('token')
|
||||
if (!token || !/\S/.test(token)) {
|
||||
clearLoginInfo()
|
||||
next({ name: 'login' })
|
||||
if (isDingtalk()) {
|
||||
console.log('钉钉免登测试')
|
||||
next({ name: 'dingtalklogin' })
|
||||
} else {
|
||||
clearLoginInfo()
|
||||
next({ name: 'login' })
|
||||
}
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
next()
|
||||
}
|
||||
}
|
||||
|
||||
@ -66,7 +74,7 @@ const router = new Router({
|
||||
router.beforeEach((to, from, next) => {
|
||||
// 添加动态(菜单)路由
|
||||
// 1. 已经添加 or 全局路由, 直接访问
|
||||
// 2. 获取菜单列表, 添加并保存本地存储
|
||||
// 2. 获取菜单列表, 添加并保存本地存储
|
||||
if (router.options.isAddDynamicMenuRoutes || fnCurrentRouteType(to, globalRoutes) === 'global') {
|
||||
next()
|
||||
} else {
|
||||
|
||||
92
src/views/common/dingtalkluck.vue
Normal file
92
src/views/common/dingtalkluck.vue
Normal file
@ -0,0 +1,92 @@
|
||||
<template>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<h2 class="brand-info__text">{{dataForm.verify}}</h2>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { apiDingtalkLuck } from '@/api/api_staff'
|
||||
import * as dd from 'dingtalk-jsapi'
|
||||
var dingCode
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
isloading: false,
|
||||
dataForm: {
|
||||
userName: '',
|
||||
password: '',
|
||||
uuid: '',
|
||||
// captcha: ''
|
||||
verify: '霖梓七夕抽奖登记中...'
|
||||
},
|
||||
dataRule: {
|
||||
userName: [{ required: true, message: '帐号不能为空', trigger: 'blur' }],
|
||||
password: [{ required: true, message: '密码不能为空', trigger: 'blur' }],
|
||||
// captcha: [{ required: true, message: '验证码不能为空', trigger: 'blur' }]
|
||||
verify: [{ required: true, message: '验证码不能为空', trigger: 'blur' }]
|
||||
},
|
||||
// captchaPath: '' // 图像验证码请求地址
|
||||
time: 0,
|
||||
timer: true,
|
||||
hasSendCode: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
// this.handleGetImgCaptcha()
|
||||
},
|
||||
mounted () {
|
||||
if(this.isDingtalk()){
|
||||
console.log('走钉钉免登流程')
|
||||
this.dingtalkLogin()
|
||||
setTimeout(() =>{
|
||||
this.loginWtihCode(dingCode)
|
||||
}, 3000)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
isDingtalk () {
|
||||
if (/(DingTalk)/i.test(navigator.userAgent)) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
dingtalkLogin () {
|
||||
dd.runtime.permission.requestAuthCode({
|
||||
corpId: 'ding02853c26606ba7d4a1320dcb25e91351',
|
||||
onSuccess: function (result) {
|
||||
dingCode = result
|
||||
},
|
||||
onFail: function (err) {
|
||||
console.log(err)
|
||||
}
|
||||
})
|
||||
},
|
||||
loginWtihCode (result) {
|
||||
console.log('免登流程')
|
||||
console.log(result)
|
||||
apiDingtalkLuck(result).then(res => {
|
||||
console.log('获取登录结果')
|
||||
console.log(res)
|
||||
if (res && res.code === 0) {
|
||||
console.log('获取token')
|
||||
this.dataForm.verify='已经登记,祝你好运!如若中将行政将会通知'
|
||||
|
||||
console.log('跳转')
|
||||
} else {
|
||||
this.dataForm.verify='无法登记。' + res.msg
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -65,7 +65,9 @@
|
||||
<script>
|
||||
import { getUUID } from '@/utils'
|
||||
import { apiLogin, apiSsysSendSMS } from '@/api/api_sys'
|
||||
|
||||
import { apiDingtalkLogin } from '@/api/api_staff'
|
||||
import * as dd from 'dingtalk-jsapi'
|
||||
var dingCode = ''
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
@ -92,6 +94,16 @@ export default {
|
||||
created () {
|
||||
// this.handleGetImgCaptcha()
|
||||
},
|
||||
mounted () {
|
||||
if(this.isDingtalk()){
|
||||
console.log('走钉钉免登流程')
|
||||
this.dingtalkLogin()
|
||||
setTimeout(() =>{
|
||||
this.loginWtihCode(dingCode)
|
||||
}, 3000)
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
// // 获取图像验证码
|
||||
// handleGetImgCaptcha () {
|
||||
@ -107,8 +119,11 @@ export default {
|
||||
apiLogin(param).then(res => {
|
||||
this.isloading = false
|
||||
if (res && res.code === 0) {
|
||||
console.log('获取token')
|
||||
this.$cookie.set('token', res.token)
|
||||
console.log('保存token')
|
||||
this.$router.replace({ name: 'home' })
|
||||
console.log('跳转')
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
@ -118,6 +133,44 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
isDingtalk () {
|
||||
if (/(DingTalk)/i.test(navigator.userAgent)) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
dingtalkLogin () {
|
||||
dd.runtime.permission.requestAuthCode({
|
||||
corpId: 'ding02853c26606ba7d4a1320dcb25e91351',
|
||||
onSuccess: function (result) {
|
||||
dingCode = result
|
||||
},
|
||||
onFail: function (err) {
|
||||
this.$router.replace({ name: 'login' })
|
||||
console.log(err)
|
||||
}
|
||||
})
|
||||
},
|
||||
loginWtihCode (result) {
|
||||
console.log('免登流程')
|
||||
console.log(result)
|
||||
apiDingtalkLogin(result).then(res => {
|
||||
console.log('获取登录结果')
|
||||
console.log(res)
|
||||
if (res && res.code === 0) {
|
||||
console.log('获取token')
|
||||
|
||||
this.$cookie.set('token', res.token)
|
||||
console.log('保存token')
|
||||
this.$router.replace({ name: 'home' })
|
||||
console.log('跳转')
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
this.$router.replace({ name: 'login' })
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取验证码
|
||||
handleVerify () {
|
||||
this.dataForm.uuid = getUUID()
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
import MainSidebar from './main-sidebar'
|
||||
import MainContent from './main-content'
|
||||
import { apiGetUserInfo } from '@/api/api_sys'
|
||||
|
||||
|
||||
export default {
|
||||
provide () {
|
||||
return {
|
||||
@ -63,7 +63,9 @@
|
||||
this.handleGetUserInfo()
|
||||
},
|
||||
mounted () {
|
||||
this.resetDocumentClientHeight()
|
||||
|
||||
this.resetDocumentClientHeight()
|
||||
|
||||
},
|
||||
methods: {
|
||||
// 重置窗口可视高度
|
||||
@ -87,6 +89,8 @@
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user