Compare commits

..

No commits in common. "dev" and "test" have entirely different histories.
dev ... test

9 changed files with 2031 additions and 2084 deletions

View File

@ -2,43 +2,45 @@
const path = require('path') const path = require('path')
var proxyUrl = (module.exports = { var proxyUrl =
dev: {
// Paths module.exports = {
assetsSubDirectory: 'static', dev: {
assetsPublicPath: '/', // Paths
host: 'localhost', // can be overwritten by process.env.HOST assetsSubDirectory: 'static',
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined assetsPublicPath: '/',
autoOpenBrowser: false, host: 'localhost', // can be overwritten by process.env.HOST
errorOverlay: true, port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
notifyOnErrors: true, autoOpenBrowser: false,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- errorOverlay: true,
devtool: 'cheap-module-eval-source-map', notifyOnErrors: true,
cacheBusting: true, poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
cssSourceMap: true, devtool: 'cheap-module-eval-source-map',
proxyTable: { cacheBusting: true,
'/screen': { cssSourceMap: true,
// target: 'http://112.29.103.165:21626',//重庆 proxyTable: {
target: 'http://192.168.2.158:49080', //测试 '/screen': {
// target: 'http://10.40.92.74:8080', // target: 'http://112.29.103.165:21626',//重庆
changeOrigin: true, target: 'http://192.168.0.14:21624',//测试
// secure: true, //如果是https接口需要配置这个参数 // target: 'http://10.40.92.74:8080',
pathRewrite: { changeOrigin: true,
'^/screen': '/', // secure: true, //如果是https接口需要配置这个参数
pathRewrite: {
'^/screen': '/'
}
}, },
}, }
}, },
}, build: {
build: { index: path.resolve(__dirname, '../dist/index01.html'),
index: path.resolve(__dirname, '../dist/index01.html'), // Paths
// Paths assetsRoot: path.resolve(__dirname, '../dist'),
assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static01',
assetsSubDirectory: 'static01', assetsPublicPath: '/bigScrap/',
assetsPublicPath: '/bigScrap/', productionSourceMap: false,
productionSourceMap: false, devtool: '#source-map',
devtool: '#source-map', productionGzip: false,
productionGzip: false, productionGzipExtensions: ['js', 'css'],
productionGzipExtensions: ['js', 'css'], bundleAnalyzerReport: process.env.npm_config_report
bundleAnalyzerReport: process.env.npm_config_report, }
}, }
})

View File

@ -5,6 +5,6 @@ var testUrl = '112.29.103.165:21624/'
module.exports = { module.exports = {
NODE_ENV: '"production"', NODE_ENV: '"production"',
//post用当前域名 //post用当前域名
API_ROOT: '"/screen"', // API_ROOT: '"http://' + testUrl + '/iot"'
// API_ROOT: '/sgzbgl-api/', // API_ROOT: '/sgzbgl-api/',
} }

3817
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,6 @@
"jquery": "^3.6.1", "jquery": "^3.6.1",
"js-base64": "^3.6.0", "js-base64": "^3.6.0",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"jsencrypt": "^3.3.2",
"less-loader": "^4.1.0", "less-loader": "^4.1.0",
"moment": "^2.29.1", "moment": "^2.29.1",
"scss": "^0.2.4", "scss": "^0.2.4",

View File

@ -9,24 +9,12 @@ export default {
created() { created() {
// console.log(this.$route) // console.log(this.$route)
// localStorage.setItem('token', this.$route.query.token) // localStorage.setItem('token', this.$route.query.token)
var link = var link = document.querySelector("link[rel*='icon']") || document.createElement("link");
document.querySelector("link[rel*='icon']") || link.type = "image/x-icon";
document.createElement('link') link.rel = "shortcut icon";
link.type = 'image/x-icon' link.href = require('./assets/img/myImage/logo.png');
link.rel = 'shortcut icon' document.getElementsByTagName("head")[0].appendChild(link);
link.href = require('./assets/img/myImage/logo.png')
document.getElementsByTagName('head')[0].appendChild(link)
},
watch: {
$route: {
handler(newValue) {
console.log(newValue, '路由监听--')
if (newValue.query.token) {
localStorage.setItem('token', newValue.query.token)
}
},
deep: true,
},
}, },
} }
</script> </script>
@ -34,7 +22,7 @@ export default {
.el-dialog { .el-dialog {
// //
background-color: rgba(0, 0, 0, 0.5); background-color: rgba(0, 0, 0, 0.5);
// background-color: transparent; // background-color: transparent;
// background-color: #000; // background-color: #000;
background-image: url('./assets/img/dialog/window.png'); background-image: url('./assets/img/dialog/window.png');
background-size: 100% 100%; background-size: 100% 100%;
@ -55,78 +43,76 @@ export default {
.el-table th { .el-table th {
// #253855 #30619B // #253855 #30619B
background: linear-gradient(to bottom, #2b313d, #3267a7); background: linear-gradient(to bottom, #2B313D, #3267A7);
color: #fff; color: #fff;
border-bottom: 1px solid #84fcfd !important; border-bottom: 1px solid #84FCFD !important;
} }
.el-table tr { .el-table tr {
background-color: #335684; background-color: #335684;
color: #fff; color: #fff;
} }
.el-table--striped .el-table__body tr.el-table__row--striped td { .el-table--striped .el-table__body tr.el-table__row--striped td {
background-color: #25447d; background-color: #25447D;
color: #fff; color: #fff;
} }
.el-table td, .el-table td,.building-top .el-table th.is-leaf {
.building-top .el-table th.is-leaf { border-bottom: 1px solid #6983A5;
border-bottom: 1px solid #6983a5;
} }
.el-table::before { .el-table::before{
border-bottom: 1px solid #6983a5; border-bottom: 1px solid #6983A5;
background-color: #6983a5; background-color: #6983A5;
height: 1px; height: 1px;
} }
.el-table--enable-row-hover .el-table__body tr:hover > td { .el-table--enable-row-hover .el-table__body tr:hover>td {
background-color: #6983a5; background-color: #6983A5;
} }
.el-pagination__total { .el-pagination__total {
color: #e1e3e6; color: #E1E3E6;
} }
.el-pagination__jump { .el-pagination__jump {
color: #e1e3e6; color: #E1E3E6;
} }
.el-input__inner { .el-input__inner {
background-color: transparent; background-color: transparent;
border: 1px solid #77e2e7; border: 1px solid #77E2E7;
color: #e1e3e6; color: #E1E3E6;
} }
.el-pagination__sizes .el-input .el-input__inner { .el-pagination__sizes .el-input .el-input__inner {
color: #e3e4e7; color: #E3E4E7;
border: 1px solid #e3e4e7; border: 1px solid #E3E4E7;
} }
.el-pagination__editor.el-input .el-input__inner { .el-pagination__editor.el-input .el-input__inner {
color: #e3e4e7; color: #E3E4E7;
border: 1px solid #e3e4e7; border: 1px solid #E3E4E7;
} }
.el-pagination.is-background .btn-prev, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li {
.el-pagination.is-background .el-pager li { color: #E3E4E7;
color: #e3e4e7; border: 1px solid #E3E4E7;
border: 1px solid #e3e4e7;
background-color: transparent; background-color: transparent;
} }
.el-pagination.is-background .btn-next { .el-pagination.is-background .btn-next {
color: #e3e4e7; color: #E3E4E7;
border: 1px solid #e3e4e7; border: 1px solid #E3E4E7;
background-color: transparent; background-color: transparent;
} }
.el-pagination.is-background .el-pager li:not(.disabled).active { .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #98f4fb; background-color: #98F4FB;
color: #000; color: #000;
} }
.el-button--primary { .el-button--primary {
background-color: #84fcfd; background-color: #84FCFD;
border: #84fcfd; border: #84FCFD;
color: #285050; color: #285050;
} }
.el-button--default { .el-button--default {
background-color: transparent; background-color: transparent;
border: 1px solid #84fcfd; border: 1px solid #84FCFD;
color: #d5d6da; color: #D5D6DA;
} }
.el-table__empty-block { .el-table__empty-block {
background-color: #335684; background-color: #335684;
.el-table__empty-text { .el-table__empty-text {
color: #d5d6da; color: #D5D6DA;
} }
} }
} }

View File

@ -1,39 +1,37 @@
/** /**
* axios全局配置 * axios全局配置
*/ */
import axios from 'axios' import axios from 'axios';
// axios.defaults.timeout = 30000 // axios.defaults.timeout = 30000
// 默认配置 // 默认配置
// axios.defaults.baseURL = process.env.API_ROOT; // axios.defaults.baseURL = process.env.API_ROOT;
// axios.defaults.baseURL = '/sgzbgl-api/'; // axios.defaults.baseURL = '/sgzbgl-api/';
const axiosService = axios.create({ const axiosService = axios.create({
// baseURL: "http://192.168.0.62:21624/sgzbgl-api/",// you can use "process.env.VUE_APP_BASE_API" too baseURL: "http://192.168.8.163:21624/sgzbgl-api/",// you can use "process.env.VUE_APP_BASE_API" too
baseURL: process.env.API_ROOT, timeout: 30000
timeout: 30000,
}) })
axiosService.interceptors.request.use( axiosService.interceptors.request.use(
(config) => { config => {
let token = localStorage.getItem('token') let token = localStorage.getItem('token')
if (token) { if (token) {
config.headers.accessToken = `${token}` config.headers.accessToken = `${token}`;
config.headers.Authorization = `${token}` config.headers.Authorization = `${token}`;
} }
return config return config;
}, },
(error) => { error => {
return Promise.reject(error) return Promise.reject(error);
} }
) );
// 添加一个请求拦截器 // 添加一个请求拦截器
axiosService.interceptors.response.use( axiosService.interceptors.response.use(
(response) => { response => {
if (response.data) { if (response.data) {
if (response.data.code === 401) { if (response.data.code === 401) {
localStorage.clear()
location.href = '/bigScrap/login/index'
} else if (response.data.code === 200) { } else if (response.data.code === 200) {
return Promise.resolve(response.data) return Promise.resolve(response.data)
} else { } else {
@ -42,36 +40,32 @@ axiosService.interceptors.response.use(
} else { } else {
return Promise.reject(response.data) return Promise.reject(response.data)
} }
}, },
(error) => { error => {
if ( if (error.code === 'ECONNABORTED' && error.message.indexOf('timeout') !== -1)
error.code === 'ECONNABORTED' &&
error.message.indexOf('timeout') !== -1
)
console.log('请求超时!') console.log('请求超时!')
return Promise.reject(error) return Promise.reject(error)
} }
) );
// 通用POST方法 // 通用POST方法
export const POST = (url, params) => { export const POST = (url, params) => {
return axiosService.post(`${url}`, params).then((response) => response) return axiosService.post(`${url}`, params).then(response => response);
} };
// 通用POST_JSON方法 // 通用POST_JSON方法
export const POST_JSON = (url, json, params) => { export const POST_JSON = (url, json, params) => {
return axiosService return axiosService.post(`${url}`, json, {
.post(`${url}`, json, { params: params
params: params, }).then(response => response);
}) };
.then((response) => response)
}
// 通用GET方法 // 通用GET方法
export const GET = (url, params) => { export const GET = (url, params) => {
return axiosService return axiosService.get(`${url}`, {
.get(`${url}`, { params: params
params: params, }).then(response => response);
}) };
.then((response) => response)
}

View File

@ -5,12 +5,12 @@ Vue.use(Router)
const originalPush = Router.prototype.push const originalPush = Router.prototype.push
Router.prototype.push = function push(location) { Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch((err) => err) return originalPush.call(this, location).catch(err => err)
} }
const Layout = () => import('@/views/layout') const Layout = () => import('@/views/layout');
const Home = () => import('@/views/Home/index') const Home = () => import('@/views/Home/index');
const Login = () => import('@/views/Login/index') const Login = () => import('@/views/Login/index');
const routes = [ const routes = [
{ {
path: '/', path: '/',
@ -49,10 +49,10 @@ const routes = [
name: 'Login', name: 'Login',
meta: { meta: {
title: '登录', title: '登录',
requireLoginAuth: true, requireLoginAuth: true
}, }
}, }
], ]
}, },
{ {
path: '*', path: '*',
@ -63,25 +63,26 @@ const routes = [
const router = new Router({ const router = new Router({
mode: 'history', mode: 'history',
routes, routes,
base: '/bigScrap', base: '/bigScrap'
}) })
router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
if (to.path === '/login/index') { if (to.path === '/login/index') {
return next() return next();
} }
// if (to.query.token) {
// localStorage.setItem('token', to.query.token) if (to.query.token) {
// } localStorage.setItem('token', to.query.token)
// const token = to.query.token || localStorage.getItem('token') || null
const token = localStorage.getItem('token')
if (!token) {
next('/bigScrap/login/index') // 跳转到登录页
} else {
next() // 放行
} }
}) const token = to.query.token || localStorage.getItem('token') || null;
if (!token) {
next('/bigScrap/login/index'); // 跳转到登录页
} else {
next(); // 放行
}
});
// if (to.matched.some(r => r.meta.requireLoginAuth)) { // if (to.matched.some(r => r.meta.requireLoginAuth)) {
// next(); // next();
@ -90,3 +91,4 @@ router.beforeEach(async (to, from, next) => {
// } // }
export default router export default router

View File

@ -1,22 +0,0 @@
import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'
// 密钥对生成 http://web.chacuo.net/netrsakeypair
const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
const privateKey = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKNPuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gAkM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWowcSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99EcvDQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthhYhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3UP8iWi1Qw0Y='
// 加密
export function encrypt(txt) {
const encryptor = new JSEncrypt()
encryptor.setPublicKey(publicKey) // 设置公钥
return encryptor.encrypt(txt) // 对数据进行加密
}
// 解密
export function decrypt(txt) {
const encryptor = new JSEncrypt()
encryptor.setPrivateKey(privateKey) // 设置私钥
return encryptor.decrypt(txt) // 对数据进行解密
}

View File

@ -112,8 +112,6 @@ import {
getSendIphoneCodeApi, getSendIphoneCodeApi,
loginCodeApi, loginCodeApi,
} from '../../api/userLogin' } from '../../api/userLogin'
import { encrypt } from '@/untils/jsencrypt.js'
export default { export default {
name: 'Login', name: 'Login',
data() { data() {
@ -184,11 +182,10 @@ export default {
username: this.form.userName, username: this.form.userName,
password: this.form.passWord, password: this.form.passWord,
} }
params.password = encrypt(params.password)
authLoginApi(params).then((res) => { authLoginApi(params).then((res) => {
if (res.code == 200) { if (res.code == 200) {
localStorage.setItem('token', res.data.access_token) localStorage.setItem('token', res.data.access_token)
this.$router.push({ name: 'home' }) this.$router.push('./Home/index')
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
} }