init
This commit is contained in:
commit
99d196d283
24
.editorconfig
Normal file
24
.editorconfig
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# 告诉EditorConfig插件,这是根文件,不用继续往上查找
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# 匹配全部文件
|
||||||
|
[*]
|
||||||
|
# 设置字符集
|
||||||
|
charset = utf-8
|
||||||
|
# 缩进风格,可选space、tab
|
||||||
|
indent_style = space
|
||||||
|
# 缩进的空格数
|
||||||
|
indent_size = 4
|
||||||
|
# 结尾换行符,可选lf、cr、crlf
|
||||||
|
end_of_line = lf
|
||||||
|
# 在文件结尾插入新行
|
||||||
|
insert_final_newline = true
|
||||||
|
# 删除一行中的前后空格
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
# 代码行最大字符数
|
||||||
|
max_line_length = 120
|
||||||
|
|
||||||
|
# 匹配md结尾的文件
|
||||||
|
[*.md]
|
||||||
|
insert_final_newline = false
|
||||||
|
trim_trailing_whitespace = false
|
27
.env.development
Normal file
27
.env.development
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# 页面标题
|
||||||
|
VUE_APP_TITLE = 青蛙农业租户版
|
||||||
|
|
||||||
|
# 开发环境配置
|
||||||
|
ENV = 'development'
|
||||||
|
|
||||||
|
# 开发环境
|
||||||
|
VUE_APP_BASE_API = '/dev-api'
|
||||||
|
|
||||||
|
# 路由懒加载
|
||||||
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||||
|
|
||||||
|
# 后端接口地址
|
||||||
|
VUE_APP_SERVER_API_URL = 'http://localhost:8080'
|
||||||
|
|
||||||
|
# EMQX接口地址和账号(EMQX安装默认账号密码为admin public)
|
||||||
|
VUE_APP_EMQX_API_URL = 'http://localhost:8081'
|
||||||
|
VUE_APP_EMQX_API_USER_NAME = 'admin'
|
||||||
|
VUE_APP_EMQX_API_PASSWORD = 'public'
|
||||||
|
|
||||||
|
# EMQX消息服务器连接地址
|
||||||
|
VUE_APP_EMQX_SERVER_URL = 'ws://localhost:8083/mqtt'
|
||||||
|
|
||||||
|
# 高德地图参数
|
||||||
|
VUE_APP_GAO_DE_SECURITYJSCODE = '77ef0c4c95553799630ad60dd9b692d7'
|
||||||
|
VUE_APP_GAO_DE_KEY = '661ce1b2c811daca029685d9ae25ee6d'
|
||||||
|
|
19
.env.production
Normal file
19
.env.production
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# 页面标题
|
||||||
|
VUE_APP_TITLE = 青蛙农业租户版
|
||||||
|
|
||||||
|
# 生产环境配置
|
||||||
|
ENV = 'production'
|
||||||
|
|
||||||
|
# 智慧农业智能控制系统/生产环境
|
||||||
|
VUE_APP_BASE_API = '/prod-api'
|
||||||
|
|
||||||
|
# EMQX接口账号(后端地址和EMQX接口地址部署时,通过nginx配置代理)
|
||||||
|
VUE_APP_EMQX_API_USER_NAME = 'admin'
|
||||||
|
VUE_APP_EMQX_API_PASSWORD = 'public'
|
||||||
|
|
||||||
|
# EMQX消息服务器连接地址,使用空字符串则会自动获取服务器地址
|
||||||
|
VUE_APP_EMQX_SERVER_URL = 'ws://47.117.148.147:8083/mqtt'
|
||||||
|
|
||||||
|
# 高德地图参数
|
||||||
|
VUE_APP_GAO_DE_SECURITYJSCODE = '77ef0c4c95553799630ad60dd9b692d7'
|
||||||
|
VUE_APP_GAO_DE_KEY = '661ce1b2c811daca029685d9ae25ee6d'
|
22
.env.staging
Normal file
22
.env.staging
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# 页面标题
|
||||||
|
VUE_APP_TITLE = 青蛙智慧农业
|
||||||
|
|
||||||
|
NODE_ENV = production
|
||||||
|
|
||||||
|
# 测试环境配置
|
||||||
|
ENV = 'staging'
|
||||||
|
|
||||||
|
# 智慧农业智能控制系统/测试环境
|
||||||
|
VUE_APP_BASE_API = '/stage-api'
|
||||||
|
|
||||||
|
# EMQX接口账号(后端地址和EMQX接口地址部署时,通过nginx配置代理)
|
||||||
|
VUE_APP_EMQX_API_USER_NAME = 'admin'
|
||||||
|
VUE_APP_EMQX_API_PASSWORD = 'public'
|
||||||
|
|
||||||
|
# EMQX消息服务器连接地址
|
||||||
|
VUE_APP_EMQX_SERVER_URL = 'ws://localhost:8083/mqtt'
|
||||||
|
|
||||||
|
# 高德地图参数
|
||||||
|
VUE_APP_GAO_DE_SECURITYJSCODE = 'nAtaBg9FYzav6c8P9rF9qXXXXXX'
|
||||||
|
VUE_APP_GAO_DE_KEY = '7f59a099e2a0a0c9b360d35fed10af19'
|
||||||
|
|
10
.eslintignore
Normal file
10
.eslintignore
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# 忽略build目录下类型为js的文件的语法检查
|
||||||
|
build/*.js
|
||||||
|
# 忽略src/assets目录下文件的语法检查
|
||||||
|
src/assets
|
||||||
|
# 忽略public目录下文件的语法检查
|
||||||
|
public
|
||||||
|
# 忽略当前目录下为js的文件的语法检查
|
||||||
|
*.js
|
||||||
|
# 忽略当前目录下为vue的文件的语法检查
|
||||||
|
*.vue
|
199
.eslintrc.js
Normal file
199
.eslintrc.js
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
// ESlint 检查配置
|
||||||
|
module.exports = {
|
||||||
|
root: true,
|
||||||
|
parserOptions: {
|
||||||
|
parser: 'babel-eslint',
|
||||||
|
sourceType: 'module'
|
||||||
|
},
|
||||||
|
env: {
|
||||||
|
browser: true,
|
||||||
|
node: true,
|
||||||
|
es6: true,
|
||||||
|
},
|
||||||
|
extends: ['plugin:vue/recommended', 'eslint:recommended'],
|
||||||
|
|
||||||
|
// add your custom rules here
|
||||||
|
//it is base on https://github.com/vuejs/eslint-config-vue
|
||||||
|
rules: {
|
||||||
|
"vue/max-attributes-per-line": [2, {
|
||||||
|
"singleline": 10,
|
||||||
|
"multiline": {
|
||||||
|
"max": 1,
|
||||||
|
"allowFirstLine": false
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
"vue/singleline-html-element-content-newline": "off",
|
||||||
|
"vue/multiline-html-element-content-newline":"off",
|
||||||
|
"vue/name-property-casing": ["error", "PascalCase"],
|
||||||
|
"vue/no-v-html": "off",
|
||||||
|
'accessor-pairs': 2,
|
||||||
|
'arrow-spacing': [2, {
|
||||||
|
'before': true,
|
||||||
|
'after': true
|
||||||
|
}],
|
||||||
|
'block-spacing': [2, 'always'],
|
||||||
|
'brace-style': [2, '1tbs', {
|
||||||
|
'allowSingleLine': true
|
||||||
|
}],
|
||||||
|
'camelcase': [0, {
|
||||||
|
'properties': 'always'
|
||||||
|
}],
|
||||||
|
'comma-dangle': [2, 'never'],
|
||||||
|
'comma-spacing': [2, {
|
||||||
|
'before': false,
|
||||||
|
'after': true
|
||||||
|
}],
|
||||||
|
'comma-style': [2, 'last'],
|
||||||
|
'constructor-super': 2,
|
||||||
|
'curly': [2, 'multi-line'],
|
||||||
|
'dot-location': [2, 'property'],
|
||||||
|
'eol-last': 2,
|
||||||
|
'eqeqeq': ["error", "always", {"null": "ignore"}],
|
||||||
|
'generator-star-spacing': [2, {
|
||||||
|
'before': true,
|
||||||
|
'after': true
|
||||||
|
}],
|
||||||
|
'handle-callback-err': [2, '^(err|error)$'],
|
||||||
|
'indent': [2, 2, {
|
||||||
|
'SwitchCase': 1
|
||||||
|
}],
|
||||||
|
'jsx-quotes': [2, 'prefer-single'],
|
||||||
|
'key-spacing': [2, {
|
||||||
|
'beforeColon': false,
|
||||||
|
'afterColon': true
|
||||||
|
}],
|
||||||
|
'keyword-spacing': [2, {
|
||||||
|
'before': true,
|
||||||
|
'after': true
|
||||||
|
}],
|
||||||
|
'new-cap': [2, {
|
||||||
|
'newIsCap': true,
|
||||||
|
'capIsNew': false
|
||||||
|
}],
|
||||||
|
'new-parens': 2,
|
||||||
|
'no-array-constructor': 2,
|
||||||
|
'no-caller': 2,
|
||||||
|
'no-console': 'off',
|
||||||
|
'no-class-assign': 2,
|
||||||
|
'no-cond-assign': 2,
|
||||||
|
'no-const-assign': 2,
|
||||||
|
'no-control-regex': 0,
|
||||||
|
'no-delete-var': 2,
|
||||||
|
'no-dupe-args': 2,
|
||||||
|
'no-dupe-class-members': 2,
|
||||||
|
'no-dupe-keys': 2,
|
||||||
|
'no-duplicate-case': 2,
|
||||||
|
'no-empty-character-class': 2,
|
||||||
|
'no-empty-pattern': 2,
|
||||||
|
'no-eval': 2,
|
||||||
|
'no-ex-assign': 2,
|
||||||
|
'no-extend-native': 2,
|
||||||
|
'no-extra-bind': 2,
|
||||||
|
'no-extra-boolean-cast': 2,
|
||||||
|
'no-extra-parens': [2, 'functions'],
|
||||||
|
'no-fallthrough': 2,
|
||||||
|
'no-floating-decimal': 2,
|
||||||
|
'no-func-assign': 2,
|
||||||
|
'no-implied-eval': 2,
|
||||||
|
'no-inner-declarations': [2, 'functions'],
|
||||||
|
'no-invalid-regexp': 2,
|
||||||
|
'no-irregular-whitespace': 2,
|
||||||
|
'no-iterator': 2,
|
||||||
|
'no-label-var': 2,
|
||||||
|
'no-labels': [2, {
|
||||||
|
'allowLoop': false,
|
||||||
|
'allowSwitch': false
|
||||||
|
}],
|
||||||
|
'no-lone-blocks': 2,
|
||||||
|
'no-mixed-spaces-and-tabs': 2,
|
||||||
|
'no-multi-spaces': 2,
|
||||||
|
'no-multi-str': 2,
|
||||||
|
'no-multiple-empty-lines': [2, {
|
||||||
|
'max': 1
|
||||||
|
}],
|
||||||
|
'no-native-reassign': 2,
|
||||||
|
'no-negated-in-lhs': 2,
|
||||||
|
'no-new-object': 2,
|
||||||
|
'no-new-require': 2,
|
||||||
|
'no-new-symbol': 2,
|
||||||
|
'no-new-wrappers': 2,
|
||||||
|
'no-obj-calls': 2,
|
||||||
|
'no-octal': 2,
|
||||||
|
'no-octal-escape': 2,
|
||||||
|
'no-path-concat': 2,
|
||||||
|
'no-proto': 2,
|
||||||
|
'no-redeclare': 2,
|
||||||
|
'no-regex-spaces': 2,
|
||||||
|
'no-return-assign': [2, 'except-parens'],
|
||||||
|
'no-self-assign': 2,
|
||||||
|
'no-self-compare': 2,
|
||||||
|
'no-sequences': 2,
|
||||||
|
'no-shadow-restricted-names': 2,
|
||||||
|
'no-spaced-func': 2,
|
||||||
|
'no-sparse-arrays': 2,
|
||||||
|
'no-this-before-super': 2,
|
||||||
|
'no-throw-literal': 2,
|
||||||
|
'no-trailing-spaces': 2,
|
||||||
|
'no-undef': 2,
|
||||||
|
'no-undef-init': 2,
|
||||||
|
'no-unexpected-multiline': 2,
|
||||||
|
'no-unmodified-loop-condition': 2,
|
||||||
|
'no-unneeded-ternary': [2, {
|
||||||
|
'defaultAssignment': false
|
||||||
|
}],
|
||||||
|
'no-unreachable': 2,
|
||||||
|
'no-unsafe-finally': 2,
|
||||||
|
'no-unused-vars': [2, {
|
||||||
|
'vars': 'all',
|
||||||
|
'args': 'none'
|
||||||
|
}],
|
||||||
|
'no-useless-call': 2,
|
||||||
|
'no-useless-computed-key': 2,
|
||||||
|
'no-useless-constructor': 2,
|
||||||
|
'no-useless-escape': 0,
|
||||||
|
'no-whitespace-before-property': 2,
|
||||||
|
'no-with': 2,
|
||||||
|
'one-var': [2, {
|
||||||
|
'initialized': 'never'
|
||||||
|
}],
|
||||||
|
'operator-linebreak': [2, 'after', {
|
||||||
|
'overrides': {
|
||||||
|
'?': 'before',
|
||||||
|
':': 'before'
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
'padded-blocks': [2, 'never'],
|
||||||
|
'quotes': [2, 'single', {
|
||||||
|
'avoidEscape': true,
|
||||||
|
'allowTemplateLiterals': true
|
||||||
|
}],
|
||||||
|
'semi': [2, 'never'],
|
||||||
|
'semi-spacing': [2, {
|
||||||
|
'before': false,
|
||||||
|
'after': true
|
||||||
|
}],
|
||||||
|
'space-before-blocks': [2, 'always'],
|
||||||
|
'space-before-function-paren': [2, 'never'],
|
||||||
|
'space-in-parens': [2, 'never'],
|
||||||
|
'space-infix-ops': 2,
|
||||||
|
'space-unary-ops': [2, {
|
||||||
|
'words': true,
|
||||||
|
'nonwords': false
|
||||||
|
}],
|
||||||
|
'spaced-comment': [2, 'always', {
|
||||||
|
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
|
||||||
|
}],
|
||||||
|
'template-curly-spacing': [2, 'never'],
|
||||||
|
'use-isnan': 2,
|
||||||
|
'valid-typeof': 2,
|
||||||
|
'wrap-iife': [2, 'any'],
|
||||||
|
'yield-star-spacing': [2, 'both'],
|
||||||
|
'yoda': [2, 'never'],
|
||||||
|
'prefer-const': 2,
|
||||||
|
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
|
||||||
|
'object-curly-spacing': [2, 'always', {
|
||||||
|
objectsInObjects: false
|
||||||
|
}],
|
||||||
|
'array-bracket-spacing': [2, 'never']
|
||||||
|
}
|
||||||
|
}
|
26
.gitignore
vendored
Normal file
26
.gitignore
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
.DS_Store
|
||||||
|
node_modules/
|
||||||
|
dist/
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
**/*.log
|
||||||
|
|
||||||
|
tests/**/coverage/
|
||||||
|
tests/e2e/reports
|
||||||
|
selenium-debug.log
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.idea
|
||||||
|
.vscode
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.local
|
||||||
|
|
||||||
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
|
.DS_Store
|
||||||
|
**/.DS_Store
|
||||||
|
.DS_Store?
|
13
babel.config.js
Normal file
13
babel.config.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
module.exports = {
|
||||||
|
presets: [
|
||||||
|
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
|
||||||
|
'@vue/cli-plugin-babel/preset'
|
||||||
|
],
|
||||||
|
'env': {
|
||||||
|
'development': {
|
||||||
|
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
|
||||||
|
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
|
||||||
|
'plugins': ['dynamic-import-node']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
bin/build.bat
Normal file
12
bin/build.bat
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
@echo off
|
||||||
|
echo.
|
||||||
|
echo [信息] 打包Web工程,生成dist文件。
|
||||||
|
echo.
|
||||||
|
|
||||||
|
%~d0
|
||||||
|
cd %~dp0
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
npm run build:prod
|
||||||
|
|
||||||
|
pause
|
12
bin/package.bat
Normal file
12
bin/package.bat
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
@echo off
|
||||||
|
echo.
|
||||||
|
echo [信息] 安装Web工程,生成node_modules文件。
|
||||||
|
echo.
|
||||||
|
|
||||||
|
%~d0
|
||||||
|
cd %~dp0
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
npm install --registry=https://registry.npm.taobao.org
|
||||||
|
|
||||||
|
pause
|
12
bin/run-web.bat
Normal file
12
bin/run-web.bat
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
@echo off
|
||||||
|
echo.
|
||||||
|
echo [信息] 使用 Vue CLI 命令运行 Web 工程。
|
||||||
|
echo.
|
||||||
|
|
||||||
|
%~d0
|
||||||
|
cd %~dp0
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
npm run dev
|
||||||
|
|
||||||
|
pause
|
35
build/index.js
Normal file
35
build/index.js
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
const { run } = require('runjs')
|
||||||
|
const chalk = require('chalk')
|
||||||
|
const config = require('../vue.config.js')
|
||||||
|
const rawArgv = process.argv.slice(2)
|
||||||
|
const args = rawArgv.join(' ')
|
||||||
|
|
||||||
|
if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
|
||||||
|
const report = rawArgv.includes('--report')
|
||||||
|
|
||||||
|
run(`vue-cli-service build ${args}`)
|
||||||
|
|
||||||
|
const port = 9526
|
||||||
|
const publicPath = config.publicPath
|
||||||
|
|
||||||
|
var connect = require('connect')
|
||||||
|
var serveStatic = require('serve-static')
|
||||||
|
const app = connect()
|
||||||
|
|
||||||
|
app.use(
|
||||||
|
publicPath,
|
||||||
|
serveStatic('./dist', {
|
||||||
|
index: ['index.html', '/']
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
app.listen(port, function () {
|
||||||
|
console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
|
||||||
|
if (report) {
|
||||||
|
console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
run(`vue-cli-service build ${args}`)
|
||||||
|
}
|
117
package.json
Normal file
117
package.json
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
{
|
||||||
|
"name": "digital-agriculture-admin",
|
||||||
|
"version": "2.1.2",
|
||||||
|
"description": "数字农业后台管理系统",
|
||||||
|
"author": "nealtsiao",
|
||||||
|
"license": "GPL3.0",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vue-cli-service serve",
|
||||||
|
"build:prod": "vue-cli-service build",
|
||||||
|
"build:stage": "vue-cli-service build --mode staging",
|
||||||
|
"preview": "node build/index.js --preview",
|
||||||
|
"lint": "eslint --ext .js,.vue src"
|
||||||
|
},
|
||||||
|
"husky": {
|
||||||
|
"hooks": {
|
||||||
|
"pre-commit": "lint-staged"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lint-staged": {
|
||||||
|
"src/**/*.{js,vue}": [
|
||||||
|
"eslint --fix",
|
||||||
|
"git add"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"vue",
|
||||||
|
"admin",
|
||||||
|
"dashboard",
|
||||||
|
"element-ui",
|
||||||
|
"boilerplate",
|
||||||
|
"admin-template",
|
||||||
|
"management-system"
|
||||||
|
],
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://gitee.com/y_project/RuoYi-Vue.git"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@amap/amap-jsapi-loader": "^1.0.1",
|
||||||
|
"@easydarwin/easywasmplayer": "^4.0.7",
|
||||||
|
"@jiaminghi/data-view": "^2.10.0",
|
||||||
|
"@riophae/vue-treeselect": "0.4.0",
|
||||||
|
"axios": "0.24.0",
|
||||||
|
"clipboard": "2.0.6",
|
||||||
|
"codemirror": "^5.65.2",
|
||||||
|
"core-js": "3.19.1",
|
||||||
|
"dhtmlx-gantt": "^8.0.1",
|
||||||
|
"echarts": "^5.3.1",
|
||||||
|
"echarts-gl": "^2.0.9",
|
||||||
|
"element-china-area-data": "^4.1.1",
|
||||||
|
"element-resize-detector": "^1.2.4",
|
||||||
|
"element-ui": "2.15.6",
|
||||||
|
"ezuikit-js": "^7.7.10",
|
||||||
|
"file-saver": "2.0.5",
|
||||||
|
"fuse.js": "6.4.3",
|
||||||
|
"highlight.js": "9.18.5",
|
||||||
|
"js-beautify": "1.13.0",
|
||||||
|
"js-cookie": "3.0.1",
|
||||||
|
"jsencrypt": "3.2.1",
|
||||||
|
"jshint": "^2.13.4",
|
||||||
|
"jsonlint": "^1.6.3",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"monaco-editor": "^0.52.2",
|
||||||
|
"mqtt": "^4.3.3",
|
||||||
|
"nprogress": "0.2.0",
|
||||||
|
"qrcode.vue": "^1.7.0",
|
||||||
|
"qs": "^6.13.1",
|
||||||
|
"quill": "^1.3.7",
|
||||||
|
"screenfull": "5.0.2",
|
||||||
|
"script-loader": "^0.7.2",
|
||||||
|
"sql-formatter": "^4.0.2",
|
||||||
|
"v-calendar": "^2.4.2",
|
||||||
|
"vconsole": "^3.15.1",
|
||||||
|
"vue": "2.6.12",
|
||||||
|
"vue-clipboard2": "^0.3.3",
|
||||||
|
"vue-codemirror": "^4.0.6",
|
||||||
|
"vue-count-to": "1.0.13",
|
||||||
|
"vue-cropper": "0.5.5",
|
||||||
|
"vue-draggable-resizable": "^2.3.0",
|
||||||
|
"vue-easytable": "^2.14.0",
|
||||||
|
"vue-json-editor": "^1.4.3",
|
||||||
|
"vue-json-viewer": "^2.2.21",
|
||||||
|
"vue-meta": "2.4.0",
|
||||||
|
"vue-monaco-editor": "0.0.19",
|
||||||
|
"vue-qr": "^4.0.9",
|
||||||
|
"vue-router": "3.4.9",
|
||||||
|
"vue-seamless-scroll": "^1.1.23",
|
||||||
|
"vue2-ace-editor": "0.0.15",
|
||||||
|
"vuedraggable": "2.24.3",
|
||||||
|
"vuex": "3.6.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vue/cli-plugin-babel": "4.4.6",
|
||||||
|
"@vue/cli-plugin-eslint": "4.4.6",
|
||||||
|
"@vue/cli-service": "4.4.6",
|
||||||
|
"babel-eslint": "10.1.0",
|
||||||
|
"chalk": "4.1.0",
|
||||||
|
"connect": "3.6.6",
|
||||||
|
"eslint": "7.15.0",
|
||||||
|
"eslint-plugin-vue": "7.2.0",
|
||||||
|
"lint-staged": "10.5.3",
|
||||||
|
"runjs": "4.4.2",
|
||||||
|
"sass": "1.32.13",
|
||||||
|
"sass-loader": "10.1.1",
|
||||||
|
"script-ext-html-webpack-plugin": "2.1.5",
|
||||||
|
"svg-sprite-loader": "5.1.1",
|
||||||
|
"vue-template-compiler": "2.6.12"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.9",
|
||||||
|
"npm": ">= 3.0.0"
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"> 1%",
|
||||||
|
"last 2 versions"
|
||||||
|
]
|
||||||
|
}
|
BIN
public/favicon.ico
Normal file
BIN
public/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
46
public/html/ie.html
Normal file
46
public/html/ie.html
Normal file
File diff suppressed because one or more lines are too long
230
public/index.html
Normal file
230
public/index.html
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
|
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||||
|
<script src="/js/jessibuca-pro/jessibuca-pro-multi.js"></script>
|
||||||
|
<script src="/js/jessibuca-pro/jessibuca-pro.js"></script>
|
||||||
|
<title>
|
||||||
|
<%= webpackConfig.name %>
|
||||||
|
</title>
|
||||||
|
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
|
||||||
|
<style>
|
||||||
|
html,
|
||||||
|
body,
|
||||||
|
#app {
|
||||||
|
height: 100%;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chromeframe {
|
||||||
|
margin: 0.2em 0;
|
||||||
|
background: #ccc;
|
||||||
|
color: #000;
|
||||||
|
padding: 0.2em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loader-wrapper {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: 999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loader {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
margin: -75px 0 0 -75px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 3px solid transparent;
|
||||||
|
border-top-color: #FFF;
|
||||||
|
-webkit-animation: spin 2s linear infinite;
|
||||||
|
-ms-animation: spin 2s linear infinite;
|
||||||
|
-moz-animation: spin 2s linear infinite;
|
||||||
|
-o-animation: spin 2s linear infinite;
|
||||||
|
animation: spin 2s linear infinite;
|
||||||
|
z-index: 1001;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loader:before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 5px;
|
||||||
|
left: 5px;
|
||||||
|
right: 5px;
|
||||||
|
bottom: 5px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 3px solid transparent;
|
||||||
|
border-top-color: #FFF;
|
||||||
|
-webkit-animation: spin 3s linear infinite;
|
||||||
|
-moz-animation: spin 3s linear infinite;
|
||||||
|
-o-animation: spin 3s linear infinite;
|
||||||
|
-ms-animation: spin 3s linear infinite;
|
||||||
|
animation: spin 3s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loader:after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 15px;
|
||||||
|
left: 15px;
|
||||||
|
right: 15px;
|
||||||
|
bottom: 15px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 3px solid transparent;
|
||||||
|
border-top-color: #FFF;
|
||||||
|
-moz-animation: spin 1.5s linear infinite;
|
||||||
|
-o-animation: spin 1.5s linear infinite;
|
||||||
|
-ms-animation: spin 1.5s linear infinite;
|
||||||
|
-webkit-animation: spin 1.5s linear infinite;
|
||||||
|
animation: spin 1.5s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@-webkit-keyframes spin {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#loader-wrapper .loader-section {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 51%;
|
||||||
|
height: 100%;
|
||||||
|
background: #2b7;
|
||||||
|
z-index: 1000;
|
||||||
|
-webkit-transform: translateX(0);
|
||||||
|
-ms-transform: translateX(0);
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#loader-wrapper .loader-section.section-left {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loader-wrapper .loader-section.section-right {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.loaded #loader-wrapper .loader-section.section-left {
|
||||||
|
-webkit-transform: translateX(-100%);
|
||||||
|
-ms-transform: translateX(-100%);
|
||||||
|
transform: translateX(-100%);
|
||||||
|
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||||
|
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||||
|
}
|
||||||
|
|
||||||
|
.loaded #loader-wrapper .loader-section.section-right {
|
||||||
|
-webkit-transform: translateX(100%);
|
||||||
|
-ms-transform: translateX(100%);
|
||||||
|
transform: translateX(100%);
|
||||||
|
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||||
|
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||||
|
}
|
||||||
|
|
||||||
|
.loaded #loader {
|
||||||
|
opacity: 0;
|
||||||
|
-webkit-transition: all 0.3s ease-out;
|
||||||
|
transition: all 0.3s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loaded #loader-wrapper {
|
||||||
|
visibility: hidden;
|
||||||
|
-webkit-transform: translateY(-100%);
|
||||||
|
-ms-transform: translateY(-100%);
|
||||||
|
transform: translateY(-100%);
|
||||||
|
-webkit-transition: all 0.3s 1s ease-out;
|
||||||
|
transition: all 0.3s 1s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-js #loader-wrapper {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-js h1 {
|
||||||
|
color: #222222;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loader-wrapper .load_title {
|
||||||
|
font-family: 'Open Sans';
|
||||||
|
color: #FFF;
|
||||||
|
font-size: 19px;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
z-index: 9999999999999;
|
||||||
|
position: absolute;
|
||||||
|
top: 60%;
|
||||||
|
opacity: 1;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loader-wrapper .load_title span {
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #FFF;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 清除地图LOGO */
|
||||||
|
/* .BMap_cpyCtrl {
|
||||||
|
display: none!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anchorBL {
|
||||||
|
display: none!important;
|
||||||
|
} */
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="app">
|
||||||
|
<div id="loader-wrapper">
|
||||||
|
<div id="loader"></div>
|
||||||
|
<div class="loader-section section-left"></div>
|
||||||
|
<div class="loader-section section-right"></div>
|
||||||
|
<div class="load_title">正在加载系统资源,请耐心等待</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
25662
public/js/jessibuca-pro/decoder-pro-audio.js
Normal file
25662
public/js/jessibuca-pro/decoder-pro-audio.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/decoder-pro-audio.js.map
Normal file
1
public/js/jessibuca-pro/decoder-pro-audio.js.map
Normal file
File diff suppressed because one or more lines are too long
BIN
public/js/jessibuca-pro/decoder-pro-audio.wasm
Normal file
BIN
public/js/jessibuca-pro/decoder-pro-audio.wasm
Normal file
Binary file not shown.
21061
public/js/jessibuca-pro/decoder-pro-hard-not-wasm.js
Normal file
21061
public/js/jessibuca-pro/decoder-pro-hard-not-wasm.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/decoder-pro-hard-not-wasm.js.map
Normal file
1
public/js/jessibuca-pro/decoder-pro-hard-not-wasm.js.map
Normal file
File diff suppressed because one or more lines are too long
25662
public/js/jessibuca-pro/decoder-pro-hard.js
Normal file
25662
public/js/jessibuca-pro/decoder-pro-hard.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/decoder-pro-hard.js.map
Normal file
1
public/js/jessibuca-pro/decoder-pro-hard.js.map
Normal file
File diff suppressed because one or more lines are too long
16
public/js/jessibuca-pro/decoder-pro-mt-worker.js
Normal file
16
public/js/jessibuca-pro/decoder-pro-mt-worker.js
Normal file
File diff suppressed because one or more lines are too long
BIN
public/js/jessibuca-pro/decoder-pro-mt-worker.wasm
Normal file
BIN
public/js/jessibuca-pro/decoder-pro-mt-worker.wasm
Normal file
Binary file not shown.
1
public/js/jessibuca-pro/decoder-pro-mt-worker.worker.js
Normal file
1
public/js/jessibuca-pro/decoder-pro-mt-worker.worker.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};self.onmessage=e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./decoder-pro-mt-worker.js")).then(function(exports){return exports.default(Module)}).then(function(instance){Module=instance})}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();pendingNotifiedProxyingQueues.forEach(queue=>{Module["executeNotifiedProxyingQueue"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processProxyingQueue"){if(initializedJS){Module["executeNotifiedProxyingQueue"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}};
|
30784
public/js/jessibuca-pro/decoder-pro-mt.js
Normal file
30784
public/js/jessibuca-pro/decoder-pro-mt.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/decoder-pro-mt.js.map
Normal file
1
public/js/jessibuca-pro/decoder-pro-mt.js.map
Normal file
File diff suppressed because one or more lines are too long
16
public/js/jessibuca-pro/decoder-pro-simd-mt-worker.js
Normal file
16
public/js/jessibuca-pro/decoder-pro-simd-mt-worker.js
Normal file
File diff suppressed because one or more lines are too long
BIN
public/js/jessibuca-pro/decoder-pro-simd-mt-worker.wasm
Normal file
BIN
public/js/jessibuca-pro/decoder-pro-simd-mt-worker.wasm
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:f=>(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f),postMessage:msg=>parentPort.postMessage(msg),performance:global.performance||{now:Date.now}})}var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var module=Module["wasmModule"];Module["wasmModule"]=null;var instance=new WebAssembly.Instance(module,info);return receiveInstance(instance)};self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler:handler,args:args})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./decoder-pro-simd-mt-worker.js")).then(exports=>exports.default(Module))}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["__emscripten_thread_mailbox_await"](e.data.pthread_ptr);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){Module["__embind_initialize_bindings"]();initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="checkMailbox"){if(initializedJS){Module["checkMailbox"]()}}else if(e.data.cmd){err(`worker.js received unknown command ${e.data.cmd}`);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}}self.onmessage=handleMessage;
|
28174
public/js/jessibuca-pro/decoder-pro-simd-mt.js
Normal file
28174
public/js/jessibuca-pro/decoder-pro-simd-mt.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/decoder-pro-simd-mt.js.map
Normal file
1
public/js/jessibuca-pro/decoder-pro-simd-mt.js.map
Normal file
File diff suppressed because one or more lines are too long
27683
public/js/jessibuca-pro/decoder-pro-simd.js
Normal file
27683
public/js/jessibuca-pro/decoder-pro-simd.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/decoder-pro-simd.js.map
Normal file
1
public/js/jessibuca-pro/decoder-pro-simd.js.map
Normal file
File diff suppressed because one or more lines are too long
BIN
public/js/jessibuca-pro/decoder-pro-simd.wasm
Normal file
BIN
public/js/jessibuca-pro/decoder-pro-simd.wasm
Normal file
Binary file not shown.
30257
public/js/jessibuca-pro/decoder-pro.js
Normal file
30257
public/js/jessibuca-pro/decoder-pro.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/decoder-pro.js.map
Normal file
1
public/js/jessibuca-pro/decoder-pro.js.map
Normal file
File diff suppressed because one or more lines are too long
BIN
public/js/jessibuca-pro/decoder-pro.wasm
Normal file
BIN
public/js/jessibuca-pro/decoder-pro.wasm
Normal file
Binary file not shown.
86689
public/js/jessibuca-pro/jessibuca-pro-multi.js
Normal file
86689
public/js/jessibuca-pro/jessibuca-pro-multi.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/jessibuca-pro/jessibuca-pro-multi.js.map
Normal file
1
public/js/jessibuca-pro/jessibuca-pro-multi.js.map
Normal file
File diff suppressed because one or more lines are too long
1799
public/js/jessibuca-pro/jessibuca-pro-talk.js
Normal file
1799
public/js/jessibuca-pro/jessibuca-pro-talk.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/jessibuca-pro-talk.js.map
Normal file
1
public/js/jessibuca-pro/jessibuca-pro-talk.js.map
Normal file
File diff suppressed because one or more lines are too long
85003
public/js/jessibuca-pro/jessibuca-pro.js
Normal file
85003
public/js/jessibuca-pro/jessibuca-pro.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/jessibuca-pro/jessibuca-pro.js.map
Normal file
1
public/js/jessibuca-pro/jessibuca-pro.js.map
Normal file
File diff suppressed because one or more lines are too long
86689
public/js/jessibuca-pro/web-player-pro-multi.js
Normal file
86689
public/js/jessibuca-pro/web-player-pro-multi.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/jessibuca-pro/web-player-pro-multi.js.map
Normal file
1
public/js/jessibuca-pro/web-player-pro-multi.js.map
Normal file
File diff suppressed because one or more lines are too long
1799
public/js/jessibuca-pro/web-player-pro-talk.js
Normal file
1799
public/js/jessibuca-pro/web-player-pro-talk.js
Normal file
File diff suppressed because it is too large
Load Diff
1
public/js/jessibuca-pro/web-player-pro-talk.js.map
Normal file
1
public/js/jessibuca-pro/web-player-pro-talk.js.map
Normal file
File diff suppressed because one or more lines are too long
85003
public/js/jessibuca-pro/web-player-pro.js
Normal file
85003
public/js/jessibuca-pro/web-player-pro.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/jessibuca-pro/web-player-pro.js.map
Normal file
1
public/js/jessibuca-pro/web-player-pro.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/robots.txt
Normal file
2
public/robots.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
User-agent: *
|
||||||
|
Disallow: /
|
2972
public/video/axios.js
Normal file
2972
public/video/axios.js
Normal file
File diff suppressed because it is too large
Load Diff
40
public/video/iconfont copy.css
Normal file
40
public/video/iconfont copy.css
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "iconfont"; /* Project id 2880328 */
|
||||||
|
/* src: url('iconfont.woff2?t=1691113634840') format('woff2'),
|
||||||
|
url('iconfont.woff?t=1691113634840') format('woff'),
|
||||||
|
url('iconfont.ttf?t=1691113634840') format('truetype'); */
|
||||||
|
src: url("./iconfont.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-family: "iconfont" !important;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-dianying:before {
|
||||||
|
content: "\e605";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-zhaoxiangji:before {
|
||||||
|
content: "\e663";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-tupian:before {
|
||||||
|
content: "\e610";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-erjiyasuojichuanganqiguzhang:before {
|
||||||
|
content: "\e611";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-luxiangyingpeng:before {
|
||||||
|
content: "\e6af";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-new:before {
|
||||||
|
content: "\e647";
|
||||||
|
}
|
||||||
|
|
40
public/video/iconfont.css
Normal file
40
public/video/iconfont.css
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "iconfont"; /* Project id 2880328 */
|
||||||
|
/* src: url('iconfont.woff2?t=1691113634840') format('woff2'),
|
||||||
|
url('iconfont.woff?t=1691113634840') format('woff'),
|
||||||
|
url('iconfont.ttf?t=1691113634840') format('truetype'); */
|
||||||
|
src: url("./iconfont.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-family: "iconfont" !important;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-dianying:before {
|
||||||
|
content: "\e605";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-zhaoxiangji:before {
|
||||||
|
content: "\e663";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-tupian:before {
|
||||||
|
content: "\e610";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-erjiyasuojichuanganqiguzhang:before {
|
||||||
|
content: "\e611";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-luxiangyingpeng:before {
|
||||||
|
content: "\e6af";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-new:before {
|
||||||
|
content: "\e647";
|
||||||
|
}
|
||||||
|
|
1
public/video/iconfont.js
Normal file
1
public/video/iconfont.js
Normal file
File diff suppressed because one or more lines are too long
51
public/video/iconfont.json
Normal file
51
public/video/iconfont.json
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"id": "2880328",
|
||||||
|
"name": "态势感知",
|
||||||
|
"font_family": "iconfont",
|
||||||
|
"css_prefix_text": "icon-",
|
||||||
|
"description": "",
|
||||||
|
"glyphs": [
|
||||||
|
{
|
||||||
|
"icon_id": "180897",
|
||||||
|
"name": "电影",
|
||||||
|
"font_class": "dianying",
|
||||||
|
"unicode": "e605",
|
||||||
|
"unicode_decimal": 58885
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "630128",
|
||||||
|
"name": "照相机",
|
||||||
|
"font_class": "zhaoxiangji",
|
||||||
|
"unicode": "e663",
|
||||||
|
"unicode_decimal": 58979
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "5270582",
|
||||||
|
"name": "图片-产品详情",
|
||||||
|
"font_class": "tupian",
|
||||||
|
"unicode": "e610",
|
||||||
|
"unicode_decimal": 58896
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "20299502",
|
||||||
|
"name": "二级压缩机传感器故障",
|
||||||
|
"font_class": "erjiyasuojichuanganqiguzhang",
|
||||||
|
"unicode": "e611",
|
||||||
|
"unicode_decimal": 58897
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "20736120",
|
||||||
|
"name": "录像影棚",
|
||||||
|
"font_class": "luxiangyingpeng",
|
||||||
|
"unicode": "e6af",
|
||||||
|
"unicode_decimal": 59055
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "9930896",
|
||||||
|
"name": "new",
|
||||||
|
"font_class": "new",
|
||||||
|
"unicode": "e647",
|
||||||
|
"unicode_decimal": 58951
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
BIN
public/video/iconfont.ttf
Normal file
BIN
public/video/iconfont.ttf
Normal file
Binary file not shown.
BIN
public/video/iconfont.woff
Normal file
BIN
public/video/iconfont.woff
Normal file
Binary file not shown.
BIN
public/video/iconfont.woff2
Normal file
BIN
public/video/iconfont.woff2
Normal file
Binary file not shown.
461
public/video/index.html
Normal file
461
public/video/index.html
Normal file
@ -0,0 +1,461 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,viewport-fit=cover">
|
||||||
|
<link rel="stylesheet" href="./iconfont.css">
|
||||||
|
<link rel="stylesheet" href="https://unpkg.com/vant@2.12/lib/index.css"/>
|
||||||
|
<style>
|
||||||
|
* {
|
||||||
|
-webkit-touch-callout:none;
|
||||||
|
-webkit-user-select:none;
|
||||||
|
-khtml-user-select:none;
|
||||||
|
-moz-user-select:none;
|
||||||
|
-ms-user-select:none;
|
||||||
|
user-select:none;
|
||||||
|
}
|
||||||
|
[v-cloak] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#player .container {
|
||||||
|
height: 250px;
|
||||||
|
width: 100%;
|
||||||
|
background: rgba(13, 14, 27, 0.7);
|
||||||
|
}
|
||||||
|
#player .tabs{
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
|
border-bottom: 10px solid #eee;
|
||||||
|
}
|
||||||
|
#player .tabs .iconfont{
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#player .tabs .iconfont.active{
|
||||||
|
color: #69BB73;
|
||||||
|
}
|
||||||
|
#player .title{
|
||||||
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
|
padding:0 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
#player .title .channel{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
#player .title .date{
|
||||||
|
display: flex;
|
||||||
|
border: 2px solid #eee;
|
||||||
|
width: 50%;
|
||||||
|
height: 25px;
|
||||||
|
line-height: 25px;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
#player .title .date .time{
|
||||||
|
width: 80%;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#player .title .date .icon{
|
||||||
|
height: 100%;
|
||||||
|
width: 20%;
|
||||||
|
background: #69BB73;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
#player .controller .rocker{
|
||||||
|
margin: 15px auto;
|
||||||
|
width: 200px;
|
||||||
|
height: 200px;
|
||||||
|
border-radius: 50%;
|
||||||
|
position: relative;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: 8px solid #f1f7ed;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
#player .controller .rocker>div{
|
||||||
|
border-radius: 50%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
#player .controller .rocker .left{
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 0;
|
||||||
|
transform: translate(0,-50%);
|
||||||
|
}
|
||||||
|
#player .controller .rocker .right{
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
right: 0;
|
||||||
|
transform: translate(0,-50%);
|
||||||
|
}
|
||||||
|
#player .controller .rocker .up{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%,0);
|
||||||
|
}
|
||||||
|
#player .controller .rocker .down{
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%,0);
|
||||||
|
}
|
||||||
|
#player .controller .rocker .circle{
|
||||||
|
position: relative;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
background-color: #eee;
|
||||||
|
}
|
||||||
|
#player .controller .zoom{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
height: 50px;
|
||||||
|
width: 70%;
|
||||||
|
margin: 0 auto;
|
||||||
|
border-radius: 25px;
|
||||||
|
box-shadow: 0 -8px 5px #eee;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
}
|
||||||
|
#player .controller .zoom .van-button{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
#player .controller .zoom .text{
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 5px;
|
||||||
|
text-align: center;
|
||||||
|
color: #69BB73;
|
||||||
|
}
|
||||||
|
#player .playback{
|
||||||
|
padding: 0 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
#player .playback .recordItems{
|
||||||
|
border: 1px solid #eee;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 8px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="player" v-cloak>
|
||||||
|
<div ref="container" class="container"></div>
|
||||||
|
<!-- <div class="tabs">
|
||||||
|
<div v-for="(item,index) in tabsList" :key="index" @click="changTabs(item,index)"
|
||||||
|
:class="['iconfont',item.icon,{active:currentName==item.name}]"></div>
|
||||||
|
</div> -->
|
||||||
|
<div class="title">
|
||||||
|
<div class="">
|
||||||
|
{{currentName}}
|
||||||
|
</div>
|
||||||
|
<div class="channel" @click="show=true" v-show="currentName=='云台控制'">
|
||||||
|
{{channelName}}<van-icon name="arrow-down" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="controller" v-show="currentName=='云台控制'">
|
||||||
|
<div class="rocker">
|
||||||
|
<div class="up" @touchstart ="handleDirection('up')" @touchend ="handleDirection('stop')">
|
||||||
|
<van-button plain round icon="arrow-up"></van-button>
|
||||||
|
</div>
|
||||||
|
<div class="down" @touchstart ="handleDirection('down')" @touchend ="handleDirection('stop')">
|
||||||
|
<van-button plain round icon="arrow-down"></van-button>
|
||||||
|
</div>
|
||||||
|
<div class="left" @touchstart ="handleDirection('left')" @touchend ="handleDirection('stop')">
|
||||||
|
<van-button plain round icon="arrow-left"></van-button>
|
||||||
|
</div>
|
||||||
|
<div class="right" @touchstart ="handleDirection('right')" @touchend ="handleDirection('stop')">
|
||||||
|
<van-button plain round icon="arrow"></van-button>
|
||||||
|
</div>
|
||||||
|
<div class="circle"></div>
|
||||||
|
</div>
|
||||||
|
<div class="zoom">
|
||||||
|
<van-button plain round icon="plus" @touchstart="ptzScale(1)" @touchend.native="ptzStop"></van-button>
|
||||||
|
<div class="text"> 缩放 </div>
|
||||||
|
<van-button plain round icon="minus" @touchstart="ptzScale(2)" @touchend.native="ptzStop"></van-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<van-popup v-model="show" position="bottom">
|
||||||
|
<van-picker show-toolbar :columns="channelList" @cancel="show = false" @confirm="select"/>
|
||||||
|
</van-popup>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
(function(doc, win) {
|
||||||
|
var docEl = doc.documentElement,
|
||||||
|
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||||
|
recalc = function() {
|
||||||
|
var clientWidth = docEl.clientWidth;
|
||||||
|
if(!clientWidth) return;
|
||||||
|
};
|
||||||
|
if(!doc.addEventListener) return;
|
||||||
|
win.addEventListener(resizeEvt, recalc, false);
|
||||||
|
doc.addEventListener('DOMContentLoaded', recalc, false);
|
||||||
|
})(document, window);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="../js/jessibuca-pro/jessibuca-pro.js"></script>
|
||||||
|
<script type="text/javascript" src="./axios.js"></script>
|
||||||
|
<script type="text/javascript" src="./uni.webview.1.5.4.js"></script>
|
||||||
|
<script type="text/javascript" src="./vue.js"></script>
|
||||||
|
<script type="text/javascript" src="./uuidv4.min.js"></script>
|
||||||
|
<script src="https://unpkg.com/vant@2.12/lib/vant.min.js"></script>
|
||||||
|
|
||||||
|
<script >
|
||||||
|
let vue = Vue
|
||||||
|
document.addEventListener("UniAppJSBridgeReady", function() {
|
||||||
|
vue.prototype.myUni = uni
|
||||||
|
});
|
||||||
|
new vue({
|
||||||
|
el: '#player',
|
||||||
|
data: {
|
||||||
|
loading: false,
|
||||||
|
channelSipId:'',
|
||||||
|
serialNumber:'',
|
||||||
|
params:{},
|
||||||
|
tabsList:[
|
||||||
|
{
|
||||||
|
icon:"icon-erjiyasuojichuanganqiguzhang",
|
||||||
|
name:"云台控制",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon:"icon-zhaoxiangji",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
currentName:"云台控制",
|
||||||
|
channelName:"无通道",
|
||||||
|
channelList:[],
|
||||||
|
show:false,
|
||||||
|
request:null,
|
||||||
|
},
|
||||||
|
async mounted() {
|
||||||
|
var str = window.location.search.substr(1)
|
||||||
|
var params = {};
|
||||||
|
str.split('&').forEach((item)=>{
|
||||||
|
let kv = item.split('=');
|
||||||
|
params[kv[0]] = kv[1];
|
||||||
|
});
|
||||||
|
this.params = params
|
||||||
|
await this.createAxios(params.fetchUrl)
|
||||||
|
await this.getDeviceInfo(params.deviceId)
|
||||||
|
await this.create();
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
createAxios(fetchUrl){
|
||||||
|
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
|
||||||
|
this.request = axios.create({
|
||||||
|
baseURL:fetchUrl,//setting.fetchUrl,
|
||||||
|
timeout: 5000
|
||||||
|
})
|
||||||
|
this.request.interceptors.request.use(config => {
|
||||||
|
if (this.params.token) {
|
||||||
|
config.headers['Authorization'] = 'Bearer ' + this.params.token // 让每个请求携带自定义token 请根据实际情况自行修改
|
||||||
|
}
|
||||||
|
return config
|
||||||
|
}, error => {
|
||||||
|
Promise.reject(error)
|
||||||
|
})
|
||||||
|
this.request.interceptors.response.use(res => {
|
||||||
|
const code = res.data.code || 200;
|
||||||
|
const msg = res.data.msg
|
||||||
|
if (code === 401) {
|
||||||
|
this.myUni.postMessage({
|
||||||
|
data: {
|
||||||
|
code:code
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return Promise.reject('401 error')
|
||||||
|
} else if (code === 500) {
|
||||||
|
this.myUni.postMessage({
|
||||||
|
data: {
|
||||||
|
code:code
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return Promise.reject(new Error(msg))
|
||||||
|
} else if (code === 502) {
|
||||||
|
this.myUni.postMessage({
|
||||||
|
data: {
|
||||||
|
code:code
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return Promise.reject('error')
|
||||||
|
} else if (code !== 200) {
|
||||||
|
this.myUni.postMessage({
|
||||||
|
data: {
|
||||||
|
code:code
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return Promise.reject('error')
|
||||||
|
} else {
|
||||||
|
return res.data
|
||||||
|
}
|
||||||
|
return res.data
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
let { message } = error;
|
||||||
|
if (message == "Network Error") {
|
||||||
|
message = "后端接口连接异常";
|
||||||
|
}
|
||||||
|
else if (message.includes("timeout")) {
|
||||||
|
message = "系统接口请求超时";
|
||||||
|
}
|
||||||
|
else if (message.includes("Request failed with status code")) {
|
||||||
|
message = "系统接口" + message.substr(message.length - 3) + "异常";
|
||||||
|
}
|
||||||
|
this.myUni.postMessage({
|
||||||
|
data: {
|
||||||
|
msg:message
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return Promise.reject(message)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
async getDeviceInfo(deviceId) {
|
||||||
|
const {data} = await this.request({
|
||||||
|
method:'get',
|
||||||
|
url:'/iot/device/'+deviceId
|
||||||
|
});
|
||||||
|
this.serialNumber = data.serialNumber;
|
||||||
|
this.channelList=data.children.filter(item=>item.sipStatus==3).map(item=>({
|
||||||
|
text:item.channelName,
|
||||||
|
channelSipId:item.channelSipId
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
select(data,index){
|
||||||
|
this.channelName=data.text
|
||||||
|
this.channelSipId=data.channelSipId
|
||||||
|
this.show=false
|
||||||
|
this.play()
|
||||||
|
},
|
||||||
|
async create(type) {
|
||||||
|
this.$jessibucaPro && await this.$jessibucaPro.destroy();
|
||||||
|
let config = {
|
||||||
|
container: this.$refs.container,
|
||||||
|
videoBuffer: 0.1, // 缓存时长
|
||||||
|
videoBufferDelay: 0.2, //
|
||||||
|
loadingText: '加载中',
|
||||||
|
decoder: "../js/jessibuca-pro/decoder-pro.js",
|
||||||
|
isResize: false,
|
||||||
|
isFlv: true,
|
||||||
|
debug: false,
|
||||||
|
useMSE: false,
|
||||||
|
useSIMD: true,
|
||||||
|
useWebFullScreen:true,
|
||||||
|
debugLevel: 'debug',
|
||||||
|
showBandwidth: false, // 显示网速
|
||||||
|
showPerformance: false, // 显示性能
|
||||||
|
showPlaybackOperate: true,
|
||||||
|
operateBtns: {
|
||||||
|
fullscreen: true,
|
||||||
|
screenshot: false,
|
||||||
|
play: true,
|
||||||
|
audio: false,
|
||||||
|
record: false,
|
||||||
|
ptz: false,
|
||||||
|
performance: false,
|
||||||
|
},
|
||||||
|
ptzClickType: 'mouseDownAndUp'
|
||||||
|
}
|
||||||
|
const jessibucaPro = new JessibucaPro(config);
|
||||||
|
|
||||||
|
this.$jessibucaPro = jessibucaPro;
|
||||||
|
},
|
||||||
|
/** 直播 */
|
||||||
|
async play() {
|
||||||
|
if (this.serialNumber && this.channelSipId) {
|
||||||
|
//通知设备推流
|
||||||
|
const {data} = await this.request({
|
||||||
|
method:'get',
|
||||||
|
url:`/sip/player/play/${this.serialNumber}/${this.channelSipId}`
|
||||||
|
});
|
||||||
|
data.playurl && this.$jessibucaPro.play(data.playurl);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 方向控制 */
|
||||||
|
ptzDirection(leftRight, upDown) {
|
||||||
|
var data = {
|
||||||
|
leftRight: leftRight,
|
||||||
|
upDown: upDown,
|
||||||
|
moveSpeed: 125,
|
||||||
|
};
|
||||||
|
if (this.serialNumber && this.channelSipId) {
|
||||||
|
this.request({
|
||||||
|
method:'post',
|
||||||
|
url:'/sip/ptz/direction/'+ this.serialNumber + "/" + this.channelSipId ,
|
||||||
|
data:data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleDirection(d){
|
||||||
|
switch (d) {
|
||||||
|
case 'up':
|
||||||
|
this.ptzDirection(0, 1);
|
||||||
|
break;
|
||||||
|
case 'down':
|
||||||
|
this.ptzDirection(0, 2);
|
||||||
|
break;
|
||||||
|
case 'left':
|
||||||
|
this.ptzDirection(2, 0);
|
||||||
|
break;
|
||||||
|
case 'right':
|
||||||
|
this.ptzDirection(1, 0);
|
||||||
|
break;
|
||||||
|
case 'stop':
|
||||||
|
this.ptzDirection(0, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async changTabs(data,index){
|
||||||
|
if(index==1){
|
||||||
|
this.screenShot()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 缩放发送
|
||||||
|
ptzScale(inOut){
|
||||||
|
let data = {
|
||||||
|
inOut:inOut,
|
||||||
|
scaleSpeed:30
|
||||||
|
}
|
||||||
|
if (this.serialNumber && this.channelSipId) {
|
||||||
|
this.request({
|
||||||
|
method:'post',
|
||||||
|
url:'/sip/ptz/scale/'+ this.serialNumber + "/" + this.channelSipId,
|
||||||
|
data:data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 缩放停止
|
||||||
|
ptzStop(){
|
||||||
|
this.request({
|
||||||
|
method:'post',
|
||||||
|
url:'/sip/ptz/scale/'+ this.serialNumber + "/" + this.channelSipId,
|
||||||
|
data:{
|
||||||
|
inOut:0,
|
||||||
|
scaleSpeed:30
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
public/video/uni.webview.1.5.4.js
Normal file
1
public/video/uni.webview.1.5.4.js
Normal file
File diff suppressed because one or more lines are too long
1
public/video/uuidv4.min.js
vendored
Normal file
1
public/video/uuidv4.min.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).uuidv4=e()}(this,(function(){"use strict";var t,e=new Uint8Array(16);function o(){if(!t&&!(t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return t(e)}var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(t){return"string"==typeof t&&n.test(t)}for(var i=[],u=0;u<256;++u)i.push((u+256).toString(16).substr(1));return function(t,e,n){var u=(t=t||{}).random||(t.rng||o)();if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,e){n=n||0;for(var f=0;f<16;++f)e[n+f]=u[f];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=(i[t[e+0]]+i[t[e+1]]+i[t[e+2]]+i[t[e+3]]+"-"+i[t[e+4]]+i[t[e+5]]+"-"+i[t[e+6]]+i[t[e+7]]+"-"+i[t[e+8]]+i[t[e+9]]+"-"+i[t[e+10]]+i[t[e+11]]+i[t[e+12]]+i[t[e+13]]+i[t[e+14]]+i[t[e+15]]).toLowerCase();if(!r(o))throw TypeError("Stringified UUID is invalid");return o}(u)}}));
|
11909
public/video/vue.js
Normal file
11909
public/video/vue.js
Normal file
File diff suppressed because it is too large
Load Diff
22
src/App.vue
Normal file
22
src/App.vue
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<div id="app" style="background-color:#0e2e87" v-if="$route.meta.bigScreen">
|
||||||
|
<router-view />
|
||||||
|
</div>
|
||||||
|
<div id="app" v-else>
|
||||||
|
<router-view />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'App',
|
||||||
|
metaInfo() {
|
||||||
|
return {
|
||||||
|
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
|
||||||
|
titleTemplate: title => {
|
||||||
|
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
68
src/api/agriculture/baseinfo.js
Normal file
68
src/api/agriculture/baseinfo.js
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询基地信息列表
|
||||||
|
export function listBaseinfo(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/baseinfo/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据角色查询基地信息列表
|
||||||
|
export function selectBaseinfoListByRoles() {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/baseinfo/selectBaseinfoListByRoles',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据角色查询基地信息列表(表格)
|
||||||
|
export function selectBaseinfoListByRolesForTable(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/baseinfo/selectBaseinfoListByRolesForTable',
|
||||||
|
method: 'get',
|
||||||
|
params:query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 查询基地信息详细
|
||||||
|
export function getBaseinfo(baseId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/baseinfo/' + baseId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询基地信息详细
|
||||||
|
export function getBaseinfoByDeptId(baseId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/baseinfo/getBaseinfoByDeptId/' + baseId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增基地信息
|
||||||
|
export function addBaseinfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/baseinfo',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改基地信息
|
||||||
|
export function updateBaseinfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/baseinfo',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除基地信息
|
||||||
|
export function delBaseinfo(baseId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/baseinfo/' + baseId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
53
src/api/agriculture/batch.js
Normal file
53
src/api/agriculture/batch.js
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询作物批次列表
|
||||||
|
export function listBatch(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batch/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询自己的作物批次列表
|
||||||
|
export function listBatchOfMine(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batch/listOfMine',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询作物批次详细
|
||||||
|
export function getBatch(batchId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batch/' + batchId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增作物批次
|
||||||
|
export function addBatch(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batch',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改作物批次
|
||||||
|
export function updateBatch(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batch',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除作物批次
|
||||||
|
export function delBatch(batchId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batch/' + batchId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
52
src/api/agriculture/batchTask.js
Normal file
52
src/api/agriculture/batchTask.js
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询批次任务列表
|
||||||
|
export function listBatchTask(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batchTask/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 查询批次任务列表
|
||||||
|
export function listBatchTaskOfMine(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batchTask/listOfMine',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询批次任务详细
|
||||||
|
export function getBatchTask(taskId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batchTask/' + taskId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增批次任务
|
||||||
|
export function addBatchTask(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batchTask',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改批次任务
|
||||||
|
export function updateBatchTask(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batchTask',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除批次任务
|
||||||
|
export function delBatchTask(taskId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/batchTask/' + taskId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/costEmployee.js
Normal file
44
src/api/agriculture/costEmployee.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询人工工时列表
|
||||||
|
export function listCostEmployee(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costEmployee/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询人工工时详细
|
||||||
|
export function getCostEmployee(costId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costEmployee/' + costId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增人工工时
|
||||||
|
export function addCostEmployee(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costEmployee',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改人工工时
|
||||||
|
export function updateCostEmployee(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costEmployee',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除人工工时
|
||||||
|
export function delCostEmployee(costId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costEmployee/' + costId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/costMachine.js
Normal file
44
src/api/agriculture/costMachine.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询机械工时列表
|
||||||
|
export function listCostMachine(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMachine/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询机械工时详细
|
||||||
|
export function getCostMachine(costId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMachine/' + costId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增机械工时
|
||||||
|
export function addCostMachine(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMachine',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改机械工时
|
||||||
|
export function updateCostMachine(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMachine',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除机械工时
|
||||||
|
export function delCostMachine(costId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMachine/' + costId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/costMaterial.js
Normal file
44
src/api/agriculture/costMaterial.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询农资用量列表
|
||||||
|
export function listCostMaterial(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMaterial/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询农资用量详细
|
||||||
|
export function getCostMaterial(costId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMaterial/' + costId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增农资用量
|
||||||
|
export function addCostMaterial(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMaterial',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改农资用量
|
||||||
|
export function updateCostMaterial(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMaterial',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除农资用量
|
||||||
|
export function delCostMaterial(costId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/costMaterial/' + costId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
36
src/api/agriculture/dataStatistics.js
Normal file
36
src/api/agriculture/dataStatistics.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
|
||||||
|
export function selectBaseInfo(baseId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/statistics/selectBaseInfo/'+baseId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function selectDeviceInfo(baseId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/statistics/selectDeviceInfo/'+baseId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function selectDeviceLog(baseId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/statistics/selectDeviceLog/'+baseId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function selectTaskInfo(baseId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/statistics/selectTaskInfo/'+baseId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function selectBatchInfo(baseId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/statistics/selectBatchInfo/'+baseId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
44
src/api/agriculture/employee.js
Normal file
44
src/api/agriculture/employee.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询雇员列表
|
||||||
|
export function listEmployee(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/employee/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询雇员详细
|
||||||
|
export function getEmployee(employeeId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/employee/' + employeeId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增雇员
|
||||||
|
export function addEmployee(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/employee',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改雇员
|
||||||
|
export function updateEmployee(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/employee',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除雇员
|
||||||
|
export function delEmployee(employeeId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/employee/' + employeeId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/germplasm.js
Normal file
44
src/api/agriculture/germplasm.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询种质列表
|
||||||
|
export function listGermplasm(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/germplasm/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询种质详细
|
||||||
|
export function getGermplasm(germplasmId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/germplasm/' + germplasmId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增种质
|
||||||
|
export function addGermplasm(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/germplasm',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改种质
|
||||||
|
export function updateGermplasm(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/germplasm',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除种质
|
||||||
|
export function delGermplasm(germplasmId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/germplasm/' + germplasmId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/intro.js
Normal file
44
src/api/agriculture/intro.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询种质介绍列表
|
||||||
|
export function listIntro(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/intro/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询种质介绍详细
|
||||||
|
export function getIntro(introId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/intro/' + introId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增种质介绍
|
||||||
|
export function addIntro(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/intro',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改种质介绍
|
||||||
|
export function updateIntro(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/intro',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除种质介绍
|
||||||
|
export function delIntro(introId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/intro/' + introId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/land.js
Normal file
44
src/api/agriculture/land.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询地块列表
|
||||||
|
export function listLand(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/land/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询地块详细
|
||||||
|
export function getLand(landId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/land/' + landId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增地块
|
||||||
|
export function addLand(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/land',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改地块
|
||||||
|
export function updateLand(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/land',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除地块
|
||||||
|
export function delLand(landId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/land/' + landId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/log.js
Normal file
44
src/api/agriculture/log.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询批次任务日志列表
|
||||||
|
export function listLog(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/log/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询批次任务日志详细
|
||||||
|
export function getLog(logId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/log/' + logId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增批次任务日志
|
||||||
|
export function addLog(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/log',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改批次任务日志
|
||||||
|
export function updateLog(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/log',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除批次任务日志
|
||||||
|
export function delLog(logId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/log/' + logId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/machineInfo.js
Normal file
44
src/api/agriculture/machineInfo.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询机械信息列表
|
||||||
|
export function listMachineInfo(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineInfo/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询机械信息详细
|
||||||
|
export function getMachineInfo(machineId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineInfo/' + machineId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增机械信息
|
||||||
|
export function addMachineInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineInfo',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改机械信息
|
||||||
|
export function updateMachineInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineInfo',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除机械信息
|
||||||
|
export function delMachineInfo(machineId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineInfo/' + machineId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/machineType.js
Normal file
44
src/api/agriculture/machineType.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询机械类别列表
|
||||||
|
export function listMachineType(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineType/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询机械类别详细
|
||||||
|
export function getMachineType(machineTypeId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineType/' + machineTypeId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增机械类别
|
||||||
|
export function addMachineType(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineType',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改机械类别
|
||||||
|
export function updateMachineType(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineType',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除机械类别
|
||||||
|
export function delMachineType(machineTypeId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/machineType/' + machineTypeId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/materialInfo.js
Normal file
44
src/api/agriculture/materialInfo.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询农资信息列表
|
||||||
|
export function listMaterialInfo(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialInfo/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询农资信息详细
|
||||||
|
export function getMaterialInfo(materialId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialInfo/' + materialId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增农资信息
|
||||||
|
export function addMaterialInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialInfo',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改农资信息
|
||||||
|
export function updateMaterialInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialInfo',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除农资信息
|
||||||
|
export function delMaterialInfo(materialId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialInfo/' + materialId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/materialType.js
Normal file
44
src/api/agriculture/materialType.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询农资类别列表
|
||||||
|
export function listMaterialType(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialType/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询农资类别详细
|
||||||
|
export function getMaterialType(materialTypeId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialType/' + materialTypeId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增农资类别
|
||||||
|
export function addMaterialType(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialType',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改农资类别
|
||||||
|
export function updateMaterialType(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialType',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除农资类别
|
||||||
|
export function delMaterialType(materialTypeId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/materialType/' + materialTypeId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/method.js
Normal file
44
src/api/agriculture/method.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询种植方法列表
|
||||||
|
export function listMethod(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/method/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询种植方法详细
|
||||||
|
export function getMethod(methodId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/method/' + methodId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增种植方法
|
||||||
|
export function addMethod(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/method',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改种植方法
|
||||||
|
export function updateMethod(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/method',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除种植方法
|
||||||
|
export function delMethod(methodId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/method/' + methodId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/agriculture/standardJob.js
Normal file
44
src/api/agriculture/standardJob.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询标准作业任务列表
|
||||||
|
export function listStandardJob(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/standardJob/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询标准作业任务详细
|
||||||
|
export function getStandardJob(jobId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/standardJob/' + jobId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增标准作业任务
|
||||||
|
export function addStandardJob(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/standardJob',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改标准作业任务
|
||||||
|
export function updateStandardJob(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/standardJob',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除标准作业任务
|
||||||
|
export function delStandardJob(jobId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/standardJob/' + jobId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
52
src/api/agriculture/taskEmployee.js
Normal file
52
src/api/agriculture/taskEmployee.js
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询批次任务工人列表
|
||||||
|
export function listTaskEmployee(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/taskEmployee/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询批次任务工人详细
|
||||||
|
export function getTaskEmployee(id) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/taskEmployee/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增批次任务工人
|
||||||
|
export function addTaskEmployee(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/taskEmployee',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改批次任务工人
|
||||||
|
export function updateTaskEmployee(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/taskEmployee',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据id删除批次任务工人
|
||||||
|
export function delTaskEmployee(id) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/taskEmployee/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据taskId和employeeId删除批次任务工人
|
||||||
|
export function delTaskEmployeeByTaskIdAndEmployeeId(taskId,employeeId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/taskEmployee/' + taskId+'/'+employeeId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
59
src/api/agriculture/unit.js
Normal file
59
src/api/agriculture/unit.js
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 配置种植单元
|
||||||
|
export function cfgUnit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/unit/cfg',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//获取种植单元
|
||||||
|
export function getUnit(landId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/unit/getUnit/'+landId,
|
||||||
|
method: 'GET',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取设备
|
||||||
|
export function selectDeviceList(landId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/unit/selectDeviceList/'+landId,
|
||||||
|
method: 'GET',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取监控
|
||||||
|
export function selectCameraList(landId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/unit/selectCameraList/'+landId,
|
||||||
|
method: 'GET',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取种植批次
|
||||||
|
export function selectBatchList(landId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/unit/selectBatchList/'+landId,
|
||||||
|
method: 'GET',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取场景
|
||||||
|
export function selectSceneList(landId) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/unit/selectSceneList/'+landId,
|
||||||
|
method: 'GET',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取告警日志
|
||||||
|
export function selectAlertLogList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/agriculture/unit/selectAlertLogList/',
|
||||||
|
method: 'GET',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
44
src/api/iot/alert.js
Normal file
44
src/api/iot/alert.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询设备告警列表
|
||||||
|
export function listAlert(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alert/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备告警详细
|
||||||
|
export function getAlert(alertId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alert/' + alertId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增设备告警
|
||||||
|
export function addAlert(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alert',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改设备告警
|
||||||
|
export function updateAlert(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alert',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除设备告警
|
||||||
|
export function delAlert(alertId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alert/' + alertId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/iot/alertLog.js
Normal file
44
src/api/iot/alertLog.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询设备告警列表
|
||||||
|
export function listAlertLog(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alertLog/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备告警详细
|
||||||
|
export function getAlertLog(alertLogId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alertLog/' + alertLogId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增设备告警
|
||||||
|
export function addAlertLog(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alertLog',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改设备告警
|
||||||
|
export function updateAlertLog(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alertLog',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除设备告警
|
||||||
|
export function delAlertLog(alertLogId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/alertLog/' + alertLogId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
52
src/api/iot/authorize.js
Normal file
52
src/api/iot/authorize.js
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询产品授权码列表
|
||||||
|
export function listAuthorize(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/authorize/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询产品授权码详细
|
||||||
|
export function getAuthorize(authorizeId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/authorize/' + authorizeId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增产品授权码
|
||||||
|
export function addAuthorize(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/authorize',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据数量批量新增产品授权码
|
||||||
|
export function addProductAuthorizeByNum(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/authorize/addProductAuthorizeByNum',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 修改产品授权码
|
||||||
|
export function updateAuthorize(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/authorize',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除产品授权码
|
||||||
|
export function delAuthorize(authorizeId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/authorize/' + authorizeId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
44
src/api/iot/category.js
Normal file
44
src/api/iot/category.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询产品分类列表
|
||||||
|
export function listCategory(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/category/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询产品分类详细
|
||||||
|
export function getCategory(categoryId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/category/' + categoryId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增产品分类
|
||||||
|
export function addCategory(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/category',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改产品分类
|
||||||
|
export function updateCategory(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/category',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除产品分类
|
||||||
|
export function delCategory(categoryId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/category/' + categoryId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
121
src/api/iot/channel.js
Normal file
121
src/api/iot/channel.js
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询监控设备通道信息列表
|
||||||
|
export function listChannel(query) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/channel/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询监控设备通道信息详细
|
||||||
|
export function getChannel(channelId) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/channel/' + channelId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增监控设备通道信息
|
||||||
|
export function addChannel(createNum, data) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/channel/' + createNum,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 向设备新增监控设备通道信息
|
||||||
|
export function addChannelToDevice(createNum, data) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/channel/addToDevice/' + createNum,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改监控设备通道信息
|
||||||
|
export function updateChannel(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/channel',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除监控设备通道信息
|
||||||
|
export function delChannel(channelId) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/channel/' + channelId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开始播放
|
||||||
|
export function startPlay(deviceId, channelId) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/play/' + deviceId + "/" + channelId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function stopPlay(deviceId, channelId, streamId) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/playstop/' + deviceId + "/" + channelId + "/" + streamId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取流信息
|
||||||
|
export function getStreaminfo(deviceId, channelId) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/playstream/' + deviceId + "/" + channelId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function playback(deviceId, channelId, query) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/playback/' + deviceId + "/" + channelId,
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function playbackStop(deviceId, channelId, streamId) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/playbackStop/' + deviceId + "/" + channelId + "/" + streamId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function playbackPause(deviceId, channelId, streamId) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/playbackPause/' + deviceId + "/" + channelId + "/" + streamId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function playbackReplay(deviceId, channelId, streamId) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/playbackReplay/' + deviceId + "/" + channelId + "/" + streamId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function playbackSeek(deviceId, channelId, streamId, query) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/playbackSeek/' + deviceId + "/" + channelId + "/" + streamId,
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function playbackSpeed(deviceId, channelId, streamId, query) {
|
||||||
|
return request({
|
||||||
|
url: '/sip/player/playbackSpeed/' + deviceId + "/" + channelId + "/" + streamId,
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
44
src/api/iot/clientDetails.js
Normal file
44
src/api/iot/clientDetails.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询云云对接列表
|
||||||
|
export function listClientDetails(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/clientDetails/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询云云对接详细
|
||||||
|
export function getClientDetails(clientId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/clientDetails/' + clientId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增云云对接
|
||||||
|
export function addClientDetails(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/clientDetails',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改云云对接
|
||||||
|
export function updateClientDetails(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/clientDetails',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除云云对接
|
||||||
|
export function delClientDetails(clientId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/clientDetails/' + clientId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
97
src/api/iot/device.js
Normal file
97
src/api/iot/device.js
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询设备列表
|
||||||
|
export function listDevice(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//摄像头列表
|
||||||
|
export function listCamera(query){
|
||||||
|
return request({
|
||||||
|
url:'/iot/device/list',
|
||||||
|
method:'get',
|
||||||
|
params:{
|
||||||
|
isCamera:1,
|
||||||
|
...query
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备详细
|
||||||
|
export function getDevice(deviceId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device/' + deviceId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据设备编号查询设备详细
|
||||||
|
export function getDeviceBySerialNumber(serialNumber) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device/getDeviceBySerialNumber/' + serialNumber,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备运行状态详细
|
||||||
|
export function getDeviceRunningStatus(deviceId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device/runningStatus/' + deviceId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 查询设备运行状态单层模型
|
||||||
|
export function getDeviceRunningStatusSingle(deviceId,removeNotRecord) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device/runningStatusSingle/' + deviceId+'/'+removeNotRecord,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增设备
|
||||||
|
export function addDevice(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改设备
|
||||||
|
export function updateDevice(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除设备
|
||||||
|
export function delDevice(deviceId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device/' + deviceId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成设备编号
|
||||||
|
export function generatorDeviceNum() {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device/generator',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成设备编号
|
||||||
|
export function importDevice(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/device/import',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
71
src/api/iot/deviceJob.js
Normal file
71
src/api/iot/deviceJob.js
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询定时任务调度列表
|
||||||
|
export function listJob(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/job/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询定时任务调度详细
|
||||||
|
export function getJob(jobId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/job/' + jobId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增定时任务调度
|
||||||
|
export function addJob(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/job',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改定时任务调度
|
||||||
|
export function updateJob(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/job',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除定时任务调度
|
||||||
|
export function delJob(jobId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/job/' + jobId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务状态修改
|
||||||
|
export function changeJobStatus(jobId, status) {
|
||||||
|
const data = {
|
||||||
|
jobId,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
return request({
|
||||||
|
url: '/iot/job/changeStatus',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 定时任务立即执行一次
|
||||||
|
export function runJob(jobId, jobGroup) {
|
||||||
|
const data = {
|
||||||
|
jobId,
|
||||||
|
jobGroup
|
||||||
|
}
|
||||||
|
return request({
|
||||||
|
url: '/iot/job/run',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
22
src/api/iot/deviceJobLog.js
Normal file
22
src/api/iot/deviceJobLog.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询设备定时任务日志列表
|
||||||
|
export function listLog(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceJobLog/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备定时任务日志详细
|
||||||
|
export function getLog(jobLogId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceJobLog/' + jobLogId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
53
src/api/iot/deviceLog.js
Normal file
53
src/api/iot/deviceLog.js
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询设备日志列表
|
||||||
|
export function listDeviceLog(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceLog/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备监测数据
|
||||||
|
export function listMonitor(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceLog/monitor',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备日志详细
|
||||||
|
export function getDeviceLog(logId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceLog/' + logId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增设备日志
|
||||||
|
export function addDeviceLog(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceLog',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改设备日志
|
||||||
|
export function updateDeviceLog(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceLog',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除设备日志
|
||||||
|
export function delDeviceLog(logId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceLog/' + logId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
54
src/api/iot/deviceuser.js
Normal file
54
src/api/iot/deviceuser.js
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询设备用户列表
|
||||||
|
export function listDeviceUser(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceUser/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备用户详细
|
||||||
|
export function getDeviceUser(deviceId, userId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceUser/' + deviceId + '/' + userId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增设备用户
|
||||||
|
export function addDeviceUser(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceUser',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增多个设备用户
|
||||||
|
export function addDeviceUsers(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceUser/addDeviceUsers',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改设备用户
|
||||||
|
export function updateDeviceUser(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceUser',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除设备用户
|
||||||
|
export function delDeviceUser(device) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/deviceUser',
|
||||||
|
method: 'delete',
|
||||||
|
data: device
|
||||||
|
})
|
||||||
|
}
|
378
src/api/iot/emqx.js
Normal file
378
src/api/iot/emqx.js
Normal file
@ -0,0 +1,378 @@
|
|||||||
|
import axios from 'axios'
|
||||||
|
|
||||||
|
const username = process.env.VUE_APP_EMQX_API_USER_NAME;
|
||||||
|
const password = process.env.VUE_APP_EMQX_API_PASSWORD;
|
||||||
|
|
||||||
|
// 集群下所有客户端列表
|
||||||
|
export function listMqttClient(query) {
|
||||||
|
var url = "/api/v4/clients";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 集群下所有订阅信息
|
||||||
|
export function listMqttSubscribe(query) {
|
||||||
|
var url = "/api/v4/subscriptions";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 集群下所有主题/路由信息
|
||||||
|
export function listMqttTopic(query) {
|
||||||
|
var url = "/api/v4/routes";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 集群下所有插件信息
|
||||||
|
export function listMqttPlugin() {
|
||||||
|
var url = "/api/v4/plugins";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载指定节点的指定插件
|
||||||
|
export function loadMqttPlugin(node,plugin) {
|
||||||
|
var url = "/api/v4/nodes/"+node+"/plugins/"+plugin+"/load";
|
||||||
|
return axios({
|
||||||
|
method: 'put',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 卸载指定节点的指定插件
|
||||||
|
export function unloadMqttPlugin(node,plugin) {
|
||||||
|
var url = "/api/v4/nodes/"+node+"/plugins/"+plugin+"/unload";
|
||||||
|
return axios({
|
||||||
|
method: 'put',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 集群下所有监听器信息
|
||||||
|
export function listMqttListener() {
|
||||||
|
var url = "/api/v4/listeners";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 集群下所有统计指标数据
|
||||||
|
export function statisticMqtt() {
|
||||||
|
var url = "/api/v4/metrics";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 集群下所有状态数据
|
||||||
|
export function getMqttStats() {
|
||||||
|
var url = "/api/v4/stats";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//断开客户端连接
|
||||||
|
export function eliminateClient(clientId){
|
||||||
|
var url = "/api/v4/clients/"+clientId;
|
||||||
|
return axios({
|
||||||
|
method: 'delete',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//查看客户端详情
|
||||||
|
export function getClientDetails(clientId){
|
||||||
|
var url = "/api/v4/clients/"+clientId;
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//查看集群下指定客户端的订阅信息
|
||||||
|
export function getSubscriptionsByClientId(clientId){
|
||||||
|
var url = "/api/v4/subscriptions/"+clientId;
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//取消该客户端订阅
|
||||||
|
export function unsubscribe(query){
|
||||||
|
var url = "/api/v4/mqtt/unsubscribe";
|
||||||
|
return axios({
|
||||||
|
method: 'post',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//添加该客户端订阅
|
||||||
|
export function addSubscribe(query){
|
||||||
|
var url = "/api/v4/mqtt/subscribe";
|
||||||
|
return axios({
|
||||||
|
method: 'post',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取所有规则引擎的动作
|
||||||
|
export function getRules(ruleid){
|
||||||
|
let url = "";
|
||||||
|
if(typeof(ruleid) == 'undefined' || ruleid == '' ||ruleid == null){
|
||||||
|
url = "/api/v4/rules";
|
||||||
|
}else{
|
||||||
|
url = "/api/v4/rules/"+ruleid;
|
||||||
|
}
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//删除规则
|
||||||
|
export function deleteRule(ruleid){
|
||||||
|
var url = "/api/v4/rules/"+ruleid;
|
||||||
|
return axios({
|
||||||
|
method: 'delete',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//获取资源列表或详情
|
||||||
|
export function getResources(resourceid){
|
||||||
|
let url = "";
|
||||||
|
if(typeof(resourceid) == 'undefined' || resourceid == '' ||resourceid == null){
|
||||||
|
url = "/api/v4/resources";
|
||||||
|
}else{
|
||||||
|
url = "/api/v4/resources/"+resourceid;
|
||||||
|
}
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//获取资源状态
|
||||||
|
export function getResourcesStatus(resourceid){
|
||||||
|
let url = "/api/v4/resources/"+resourceid;
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//连接资源
|
||||||
|
export function getConnectResource(resourceid){
|
||||||
|
let url = "/api/v4/resources/"+resourceid;
|
||||||
|
return axios({
|
||||||
|
method: 'post',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//删除资源
|
||||||
|
export function deleteResource(resourceid){
|
||||||
|
let url = "/api/v4/resources/"+resourceid;
|
||||||
|
return axios({
|
||||||
|
method: 'delete',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//获取资源类型
|
||||||
|
export function getResourcesType(){
|
||||||
|
let url = "/api/v4/resource_types";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//资源测试连接
|
||||||
|
export function getResourcesConnect(query){
|
||||||
|
let url = "/api/v4/resources?test=true";
|
||||||
|
return axios({
|
||||||
|
method: 'post',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
data: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//新增资源
|
||||||
|
export function saveResources(query){
|
||||||
|
let url = "/api/v4/resources";
|
||||||
|
return axios({
|
||||||
|
method: 'post',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
data: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//获取规则消息类型
|
||||||
|
export function getRulesEvent(){
|
||||||
|
let url = "/api/v4/rule_events";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取响应动作类型
|
||||||
|
export function getActionsEvent(){
|
||||||
|
let url = "/api/v4/actions";
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//新增规则引擎
|
||||||
|
export function saveRule(query){
|
||||||
|
let url = "/api/v4/rules";
|
||||||
|
return axios({
|
||||||
|
method: 'post',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
data: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//测试规则引擎
|
||||||
|
export function testConnectRule(query){
|
||||||
|
let url = "/api/v4/rules?test=true";
|
||||||
|
return axios({
|
||||||
|
method: 'post',
|
||||||
|
url: url,
|
||||||
|
auth: {
|
||||||
|
username: username,
|
||||||
|
password: password
|
||||||
|
},
|
||||||
|
data: query
|
||||||
|
})
|
||||||
|
}
|
52
src/api/iot/firmware.js
Normal file
52
src/api/iot/firmware.js
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询产品固件列表
|
||||||
|
export function listFirmware(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/firmware/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询设备最新固件
|
||||||
|
export function getLatestFirmware(deviceId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/firmware/getLatest/' + deviceId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询产品固件详细
|
||||||
|
export function getFirmware(firmwareId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/firmware/' + firmwareId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增产品固件
|
||||||
|
export function addFirmware(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/firmware',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改产品固件
|
||||||
|
export function updateFirmware(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/firmware',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除产品固件
|
||||||
|
export function delFirmware(firmwareId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/firmware/' + firmwareId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
30
src/api/iot/layout.js
Normal file
30
src/api/iot/layout.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询产品布局列表
|
||||||
|
export function listLayout(query) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/layout/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 新增产品布局
|
||||||
|
export function addLayout(data) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/layout',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 删除产品布局
|
||||||
|
export function delLayout(productId) {
|
||||||
|
return request({
|
||||||
|
url: '/iot/layout/' + productId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user