diff --git a/config/index.js b/config/index.js
index a222aa5..a1c2365 100644
--- a/config/index.js
+++ b/config/index.js
@@ -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,
diff --git a/package-lock.json b/package-lock.json
index 27b1e3a..5557794 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -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",
diff --git a/package.json b/package.json
index e799d67..4190202 100644
--- a/package.json
+++ b/package.json
@@ -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",
diff --git a/src/api/api_staff.js b/src/api/api_staff.js
index 99bb408..4aeeb7e 100644
--- a/src/api/api_staff.js
+++ b/src/api/api_staff.js
@@ -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 })
+}
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index 30ca83c..48966c5 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -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 {
diff --git a/src/views/common/dingtalkluck.vue b/src/views/common/dingtalkluck.vue
new file mode 100644
index 0000000..edaf7e2
--- /dev/null
+++ b/src/views/common/dingtalkluck.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
{{dataForm.verify}}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/common/login.vue b/src/views/common/login.vue
index a2fa478..cb48bce 100644
--- a/src/views/common/login.vue
+++ b/src/views/common/login.vue
@@ -65,7 +65,9 @@