无人机管理后台前端(已迁走)
固件管理查询调整,按设备名称查询,固件升级优化,超时时间设置调整,api 请求路径调整
7 files modified
52 ■■■■ changed files
.env.production 2 ●●● patch | view | raw | blame | history
src/api/device/device.js 24 ●●●● patch | view | raw | blame | history
src/api/workspace/workspace.js 10 ●●●● patch | view | raw | blame | history
src/axios.js 3 ●●●● patch | view | raw | blame | history
src/views/device/airport.vue 2 ●●● patch | view | raw | blame | history
src/views/device/components/firmwareManage.vue 9 ●●●●● patch | view | raw | blame | history
vite.config.mjs 2 ●●● patch | view | raw | blame | history
.env.production
@@ -4,7 +4,7 @@
#接口地址
#填写前缀 [/api] 需要用nginx进行反向代理
#填写地址 [https://api.bladex.cn] 只需要保证接口支持跨域即可, 无需再做代理
VITE_APP_API=/drone-api
VITE_APP_API=/api
#页面基础路径
VITE_APP_BASE=/manage
src/api/device/device.js
@@ -2,7 +2,7 @@
export const getList = (current, size, params) => {
  return request({
    url: '/drone-sample/manage/api/v1/devices/page',
    url: '/drone-yw/manage/api/v1/devices/page',
    method: 'get',
    params: {
      ...params,
@@ -14,7 +14,7 @@
export const remove = ids => {
  return request({
    url: '/drone-sample/manage/api/v1/devices/delete',
    url: '/drone-yw/manage/api/v1/devices/delete',
    method: 'post',
    params: {
      ids,
@@ -24,7 +24,7 @@
export const add = row => {
  return request({
    url: '/drone-sample/manage/api/v1/devices/add',
    url: '/drone-yw/manage/api/v1/devices/add',
    method: 'post',
    data: row,
  });
@@ -32,7 +32,7 @@
export const update = row => {
  return request({
    url: '/drone-sample/manage/api/v1/devices/update',
    url: '/drone-yw/manage/api/v1/devices/update',
    method: 'post',
    data: row,
  });
@@ -40,7 +40,7 @@
export const getDetail = id => {
  return request({
    url: '/drone-sample/manage/api/v1/devices/getDetail',
    url: '/drone-yw/manage/api/v1/devices/getDetail',
    method: 'get',
    params: {
      id,
@@ -51,7 +51,7 @@
export const getDeviceUpgradeInfo = (params) => {
  return request({
    url: '/drone-sample/manage/api/v1/workspaces/firmware-release-notes/latest',
    url: '/drone-yw/manage/api/v1/workspaces/firmware-release-notes/latest',
    method: 'get',
    params: params
  });
@@ -59,16 +59,16 @@
export const ota = (workspace_id,row) => {
  return request({
    url: `/drone-sample/manage/api/v1/devices/${workspace_id}/devices/ota`,
    url: `/drone-yw/manage/api/v1/devices/${workspace_id}/devices/ota`,
    method: 'post',
    data: row,
  });
};
export const getDeviceFirmwareList = (current, size,workspace_id, params) => {
export const getDeviceFirmwareList = (current, size, params) => {
  return request({
    url: `/drone-sample/manage/api/v1/workspaces/${workspace_id}/firmwares/page`,
    url: `/drone-yw/manage/api/v1/workspaces/firmwares/page`,
    method: 'get',
    params: {
      ...params,
@@ -80,7 +80,7 @@
export const upload = (workspace_id,formDatas) => {
  return request({
    url: `/drone-sample/manage/api/v1/workspaces/${workspace_id}/firmwares/file/upload`,
    url: `/drone-yw/manage/api/v1/workspaces/${workspace_id}/firmwares/file/upload`,
    method: 'post',
    data: formDatas,
    headers: { "Content-Type": "multipart/form-data" },
@@ -89,7 +89,7 @@
export const updateFirmware = (row) => {
  return request({
    url: `/drone-sample/manage/api/v1/workspaces/firmwares/update`,
    url: `/drone-yw/manage/api/v1/workspaces/firmwares/update`,
    method: 'post',
    data: row,
  });
@@ -97,7 +97,7 @@
export const deleteFirmware = ids => {
  return request({
    url: `/drone-sample/manage/api/v1/workspaces/firmwares/delete`,
    url: `/drone-yw/manage/api/v1/workspaces/firmwares/delete`,
    method: 'post',
    params: {
      ids
src/api/workspace/workspace.js
@@ -2,7 +2,7 @@
export const getList = (current, size, params) => {
  return request({
    url: '/drone-sample/manage/api/v1/workspaces/page',
    url: '/drone-yw/manage/api/v1/workspaces/page',
    method: 'get',
    params: {
      ...params,
@@ -14,7 +14,7 @@
export const remove = ids => {
  return request({
    url: '/drone-sample/manage/api/v1/workspaces/delete',
    url: '/drone-yw/manage/api/v1/workspaces/delete',
    method: 'post',
    params: {
      ids,
@@ -24,7 +24,7 @@
export const add = row => {
  return request({
    url: '/drone-sample/manage/api/v1/workspaces/add',
    url: '/drone-yw/manage/api/v1/workspaces/add',
    method: 'post',
    data: row,
  });
@@ -32,7 +32,7 @@
export const update = row => {
  return request({
    url: '/drone-sample/manage/api/v1/workspaces/update',
    url: '/drone-yw/manage/api/v1/workspaces/update',
    method: 'post',
    data: row,
  });
@@ -40,7 +40,7 @@
export const getDetail = id => {
  return request({
    url: '/drone-sample/manage/api/v1/workspaces/selectById',
    url: '/drone-yw/manage/api/v1/workspaces/selectById',
    method: 'get',
    params: {
      id,
src/axios.js
@@ -22,7 +22,8 @@
// 全局未授权错误提示状态,只提示一次
let isErrorShown = false;
axios.defaults.timeout = 60000;
// 超时时间设置为10分钟,部分接口上传比较慢,如固件上传
axios.defaults.timeout = 600000;
//返回其他状态码
axios.defaults.validateStatus = function (status) {
  return status >= 200 && status <= 500; // 默认的
src/views/device/airport.vue
@@ -79,7 +79,7 @@
        >
          <div style="background-color: #a8cbfb; border-radius: 4px">
            升级中
            <!-- <el-progress  v-if="percentageNum>0 && percentageNum<100" :percentage="percentageNum"></el-progress> -->
            <el-progress  v-if="row.firmware_progress>0 && row.firmware_progress<100" :percentage="row.firmware_progress"></el-progress>
          </div>
        </div>
      </template>
src/views/device/components/firmwareManage.vue
@@ -28,6 +28,7 @@
      <el-form
        ref="form"
        :model="importForm"
        v-loading="loadingForm"
        label-width="80px"
        style="width: 80%; margin-left: 10%"
        :rules="rules"
@@ -76,6 +77,7 @@
export default {
  data() {
    return {
      loadingForm:false,
      file: '',
      rules: {
        device_name: [{ required: true, message: '请输入设备名称', trigger: 'blur' }],
@@ -284,11 +286,12 @@
          formDatas.append('deviceName', that.importForm.device_name);
          formDatas.append('releaseNote', that.importForm.release_note);
          formDatas.append('status', that.importForm.status);
          this.loading = true;
          this.loadingForm = true;
          // 提交
          upload(this.workspaceId, formDatas).then(res => {
            this.loading = false;
            this.loadingForm = false;
            this.firmwareUploadBox = false;
            that.importForm = {}
            this.onLoad(this.page);
            this.$message({
              type: 'success',
@@ -404,7 +407,7 @@
    onLoad(page, params = {}) {
      params['device_name'] = this.deviceName;
      this.loading = true;
      getDeviceFirmwareList(page.currentPage, page.pageSize, this.workspaceId, params).then(res => {
      getDeviceFirmwareList(page.currentPage, page.pageSize, params).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
vite.config.mjs
@@ -47,7 +47,7 @@
      proxy: {
        '/api': {
          target: 'http://localhost',
          //target: 'https://saber3.bladex.cn/api',
          // target: 'https://wrj.shuixiongit.com/api',
          changeOrigin: true,
          rewrite: path => path.replace(/^\/api/, ''),
        },