WeBankFinTech / Qualitis

Qualitis is a one-stop data quality management platform that supports quality verification, notification, and management for various datasource. It is used to solve various data quality problems caused by data processing. https://github.com/WeBankFinTech/Qualitis
Apache License 2.0
704 stars 303 forks source link

留给前端二次开发人的忠告 #75

Closed Aysnine closed 2 years ago

Aysnine commented 2 years ago

此项目中的 web 自带了一份打包好的前端静态资源,这份资源并不是从现有的 ui 代码打包而来。

这意味着,ui 的代码是滞后的,比如你用 ui 打包出来的前端,会遇到页面上图标丢失的问题,mock 代理导致启动失败的问题。

如果你和我一样,需要在现有代码基础上做二次开发,很不幸,你会被坑得很惨。

Aysnine commented 2 years ago

如何快速修复丢失的图标?

新建文件 src/assets/old-icon/patch.scss,并写入以下内容:

@font-face {
    font-family: "old-icon";
    src: url(./fonts/iconfont.126dec16.eot);
    src: url(./fonts/iconfont.126dec16.eot?#iefix) format("embedded-opentype"),
        url(./fonts/iconfont.c9767f5d.woff) format("woff"),
        url(./fonts/iconfont.18b98433.ttf) format("truetype");
}

.ui-icon-step-backward,
.ui-icon-forward,
.ui-icon-backward,
.ui-icon-caret-right,
.ui-icon-caret-left,
.ui-icon-caret-down,
.ui-icon-caret-up,
.ui-icon-caret-circle-right,
.ui-icon-circle-right,
.ui-icon-right-circle,
.ui-icon-caret-circle-left,
.ui-icon-circle-left,
.ui-icon-left-circle,
.ui-icon-caret-circle-up,
.ui-icon-circle-up,
.ui-icon-up-circle,
.ui-icon-caret-circle-down,
.ui-icon-circle-down,
.ui-icon-down-circle,
.ui-icon-right-circle-o,
.ui-icon-caret-circle-o-right,
.ui-icon-circle-o-right,
.ui-icon-left-circle-o,
.ui-icon-caret-circle-o-left,
.ui-icon-circle-o-left,
.ui-icon-up-circle-o,
.ui-icon-caret-circle-o-up,
.ui-icon-circle-o-up,
.ui-icon-down-circle-o,
.ui-icon-caret-circle-o-down,
.ui-icon-circle-o-down,
.ui-icon-verticle-left,
.ui-icon-verticle-right,
.ui-icon-rollback,
.ui-icon-retweet,
.ui-icon-shrink,
.ui-icon-arrow-salt,
.ui-icon-arrows-alt,
.ui-icon-reload,
.ui-icon-double-right,
.ui-icon-double-left,
.ui-icon-arrow-down,
.ui-icon-arrow-up,
.ui-icon-arrow-right,
.ui-icon-arrow-left,
.ui-icon-down,
.ui-icon-up,
.ui-icon-right,
.ui-icon-left,
.ui-icon-minus-square-o,
.ui-icon-minus-circle,
.ui-icon-minus-circle-o,
.ui-icon-minus,
.ui-icon-plus-circle-o,
.ui-icon-plus-circle,
.ui-icon-plus,
.ui-icon-info-circle,
.ui-icon-info-circle-o,
.ui-icon-info,
.ui-icon-exclamation,
.ui-icon-exclamation-circle,
.ui-icon-exclamation-circle-o,
.ui-icon-close-circle,
.ui-icon-cross-circle,
.ui-icon-close-circle-o,
.ui-icon-cross-circle-o,
.ui-icon-check-circle,
.ui-icon-check-circle-o,
.ui-icon-check,
.ui-icon-close,
.ui-icon-cross,
.ui-icon-customer-service,
.ui-icon-customerservice,
.ui-icon-credit-card,
.ui-icon-code-o,
.ui-icon-book,
.ui-icon-bar-chart,
.ui-icon-bars,
.ui-icon-question,
.ui-icon-question-circle,
.ui-icon-question-circle-o,
.ui-icon-pause,
.ui-icon-pause-circle,
.ui-icon-pause-circle-o,
.ui-icon-clock-circle,
.ui-icon-clock-circle-o,
.ui-icon-swap,
.ui-icon-swap-left,
.ui-icon-swap-right,
.ui-icon-plus-square-o,
.ui-icon-frown-circle,
.ui-icon-frown,
.ui-icon-ellipsis,
.ui-icon-copy,
.ui-icon-menu-fold,
.ui-icon-mail,
.ui-icon-logout,
.ui-icon-link,
.ui-icon-area-chart,
.ui-icon-line-chart,
.ui-icon-home,
.ui-icon-laptop,
.ui-icon-star,
.ui-icon-star-o,
.ui-icon-folder,
.ui-icon-filter,
.ui-icon-file,
.ui-icon-exception,
.ui-icon-meh-circle,
.ui-icon-meh,
.ui-icon-meh-o,
.ui-icon-shopping-cart,
.ui-icon-save,
.ui-icon-user,
.ui-icon-video-camera,
.ui-icon-to-top,
.ui-icon-team,
.ui-icon-tablet,
.ui-icon-solution,
.ui-icon-search,
.ui-icon-share-alt,
.ui-icon-setting,
.ui-icon-poweroff,
.ui-icon-picture,
.ui-icon-phone,
.ui-icon-paper-clip,
.ui-icon-notification,
.ui-icon-mobile,
.ui-icon-menu-unfold,
.ui-icon-inbox,
.ui-icon-lock,
.ui-icon-qrcode,
.ui-icon-play-circle,
.ui-icon-play-circle-o,
.ui-icon-tag,
.ui-icon-tag-o,
.ui-icon-tags,
.ui-icon-tags-o,
.ui-icon-cloud-o,
.ui-icon-cloud,
.ui-icon-cloud-upload,
.ui-icon-cloud-download,
.ui-icon-cloud-download-o,
.ui-icon-cloud-upload-o,
.ui-icon-environment,
.ui-icon-environment-o,
.ui-icon-eye,
.ui-icon-eye-o,
.ui-icon-camera,
.ui-icon-camera-o,
.ui-icon-windows,
.ui-icon-apple,
.ui-icon-apple-o,
.ui-icon-android,
.ui-icon-aliwangwang,
.ui-icon-aliwangwang-o,
.ui-icon-export,
.ui-icon-edit,
.ui-icon-circle-down-o,
.ui-icon-circle-down-,
.ui-icon-appstore-o,
.ui-icon-appstore,
.ui-icon-scan,
.ui-icon-file-text,
.ui-icon-folder-open,
.ui-icon-hdd,
.ui-icon-ie,
.ui-icon-file-jpg,
.ui-icon-like,
.ui-icon-like-o,
.ui-icon-dislike,
.ui-icon-dislike-o,
.ui-icon-delete,
.ui-icon-enter,
.ui-icon-pushpin-o,
.ui-icon-pushpin,
.ui-icon-heart,
.ui-icon-heart-o,
.ui-icon-pay-circle,
.ui-icon-pay-circle-o,
.ui-icon-smile-circle,
.ui-icon-smile,
.ui-icon-smile-o,
.ui-icon-frown-o,
.ui-icon-calculator,
.ui-icon-message,
.ui-icon-chrome,
.ui-icon-github,
.ui-icon-file-unknown,
.ui-icon-file-excel,
.ui-icon-file-ppt,
.ui-icon-file-word,
.ui-icon-file-pdf,
.ui-icon-desktop,
.ui-icon-upload,
.ui-icon-download,
.ui-icon-pie-chart,
.ui-icon-unlock,
.ui-icon-calendar,
.ui-icon-windows-o,
.ui-icon-dot-chart,
.ui-icon-bar-chart,
.ui-icon-code,
.ui-icon-plus-square,
.ui-icon-minus-square,
.ui-icon-close-square,
.ui-icon-close-square-o,
.ui-icon-check-square,
.ui-icon-check-square-o,
.ui-icon-fast-backward,
.ui-icon-fast-forward,
.ui-icon-up-square,
.ui-icon-down-square,
.ui-icon-left-square,
.ui-icon-right-square,
.ui-icon-right-square-o,
.ui-icon-left-square-o,
.ui-icon-down-square-o,
.ui-icon-up-square-o,
.ui-icon-loading,
.ui-icon-bulb,
.ui-icon-select,
.ui-icon-addfile,
.ui-icon-addfolder,
.ui-icon-switcher,
.ui-icon-rocket,
.ui-icon-dingding,
.ui-icon-dingding-o {
    font-family: "old-icon";
    display: inline-block;
    font-style: normal;
    vertical-align: baseline;
    text-align: center;
    text-transform: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ui-icon-step-backward:before {
    content: "\e601";
}
.ui-icon-forward:before {
    content: "\e602";
}
.ui-icon-backward:before {
    content: "\e603";
}
.ui-expand-close:before,
.ui-expand-open:before,
.ui-icon-caret-right:before {
    content: "\e604";
}
.ui-icon-caret-left:before {
    content: "\e605";
}
.ui-expand-open:before,
.ui-icon-caret-down:before {
    content: "\e606";
}
.ui-icon-caret-up:before {
    content: "\e607";
}
.ui-icon-caret-circle-right:before,
.ui-icon-circle-right:before,
.ui-icon-right-circle:before {
    content: "\e608";
}
.ui-icon-caret-circle-left:before,
.ui-icon-circle-left:before,
.ui-icon-left-circle:before {
    content: "\e609";
}
.ui-icon-caret-circle-up:before,
.ui-icon-circle-up:before,
.ui-icon-up-circle:before {
    content: "\e60a";
}
.ui-icon-caret-circle-down:before,
.ui-icon-circle-down:before,
.ui-icon-down-circle:before {
    content: "\e60b";
}
.ui-icon-right-circle-o:before {
    content: "\e60c";
}
.ui-icon-caret-circle-o-right:before,
.ui-icon-circle-o-right:before {
    content: "\e60c";
}
.ui-icon-left-circle-o:before {
    content: "\e60d";
}
.ui-icon-caret-circle-o-left:before,
.ui-icon-circle-o-left:before {
    content: "\e60d";
}
.ui-icon-up-circle-o:before {
    content: "\e60e";
}
.ui-icon-caret-circle-o-up:before,
.ui-icon-circle-o-up:before {
    content: "\e60e";
}
.ui-icon-down-circle-o:before {
    content: "\e60f";
}
.ui-icon-caret-circle-o-down:before,
.ui-icon-circle-o-down:before {
    content: "\e60f";
}
.ui-icon-verticle-left:before {
    content: "\e610";
}
.ui-icon-verticle-right:before {
    content: "\e611";
}
.ui-icon-rollback:before {
    content: "\e612";
}
.ui-icon-retweet:before {
    content: "\e613";
}
.ui-icon-shrink:before {
    content: "\e614";
}
.ui-icon-arrow-salt:before,
.ui-icon-arrows-alt:before {
    content: "\e615";
}
.ui-icon-reload:before {
    content: "\e616";
}
.ui-icon-double-right:before {
    content: "\e617";
}
.ui-icon-double-left:before {
    content: "\e618";
}
.ui-icon-arrow-down:before {
    content: "\e619";
}
.ui-icon-arrow-up:before {
    content: "\e61a";
}
.ui-icon-arrow-right:before {
    content: "\e61b";
}
.ui-icon-arrow-left:before {
    content: "\e61c";
}
.ui-icon-down:before {
    content: "\e61d";
}
.ui-icon-up:before {
    content: "\e61e";
}
.ui-icon-right:before {
    content: "\e61f";
}
.ui-icon-left:before {
    content: "\e620";
}
.ui-icon-minus-square-o:before {
    content: "\e621";
}
.ui-icon-minus-circle:before {
    content: "\e622";
}
.ui-icon-minus-circle-o:before {
    content: "\e623";
}
.ui-icon-minus:before {
    content: "\e624";
}
.ui-icon-plus-circle-o:before {
    content: "\e625";
}
.ui-icon-plus-circle:before {
    content: "\e626";
}
.ui-icon-plus:before {
    content: "\e627";
}
.ui-icon-info-circle:before {
    content: "\e628";
}
.ui-icon-info-circle-o:before {
    content: "\e629";
}
.ui-icon-info:before {
    content: "\e62a";
}
.ui-icon-exclamation:before {
    content: "\e62b";
}
.ui-icon-exclamation-circle:before {
    content: "\e62c";
}
.ui-icon-exclamation-circle-o:before {
    content: "\e62d";
}
.ui-icon-close-circle:before,
.ui-icon-cross-circle:before {
    content: "\e62e";
}
.ui-icon-close-circle-o:before,
.ui-icon-cross-circle-o:before {
    content: "\e62f";
}
.ui-icon-check-circle:before {
    content: "\e630";
}
.ui-icon-check-circle-o:before {
    content: "\e631";
}
.ui-icon-check:before {
    content: "\e632";
}
.ui-icon-close:before,
.ui-icon-cross:before {
    content: "\e633";
}
.ui-icon-customer-service:before,
.ui-icon-customerservice:before {
    content: "\e634";
}
.ui-icon-credit-card:before {
    content: "\e635";
}
.ui-icon-code-o:before {
    content: "\e636";
}
.ui-icon-book:before {
    content: "\e637";
}
.ui-icon-bar-chart:before {
    content: "\e638";
}
.ui-icon-bars:before {
    content: "\e639";
}
.ui-icon-question:before {
    content: "\e63a";
}
.ui-icon-question-circle:before {
    content: "\e63b";
}
.ui-icon-question-circle-o:before {
    content: "\e63c";
}
.ui-icon-pause:before {
    content: "\e63d";
}
.ui-icon-pause-circle:before {
    content: "\e63e";
}
.ui-icon-pause-circle-o:before {
    content: "\e63f";
}
.ui-icon-clock-circle:before {
    content: "\e640";
}
.ui-icon-clock-circle-o:before {
    content: "\e641";
}
.ui-icon-swap:before {
    content: "\e642";
}
.ui-icon-swap-left:before {
    content: "\e643";
}
.ui-icon-swap-right:before {
    content: "\e644";
}
.ui-icon-plus-square-o:before {
    content: "\e645";
}
.ui-icon-frown-circle:before,
.ui-icon-frown:before {
    content: "\e646";
}
.ui-icon-ellipsis:before {
    content: "\e647";
}
.ui-icon-copy:before {
    content: "\e648";
}
.ui-icon-menu-fold:before {
    content: "\e658";
}
.ui-icon-mail:before {
    content: "\e659";
}
.ui-icon-logout:before {
    content: "\e65a";
}
.ui-icon-link:before {
    content: "\e65b";
}
.ui-icon-area-chart:before {
    content: "\e65c";
}
.ui-icon-line-chart:before {
    content: "\e65d";
}
.ui-icon-home:before {
    content: "\e65e";
}
.ui-icon-laptop:before {
    content: "\e65f";
}
.ui-icon-star:before {
    content: "\e660";
}
.ui-icon-star-o:before {
    content: "\e661";
}
.ui-icon-folder:before {
    content: "\e662";
}
.ui-icon-filter:before {
    content: "\e663";
}
.ui-icon-file:before {
    content: "\e664";
}
.ui-icon-exception:before {
    content: "\e665";
}
.ui-icon-meh-circle:before,
.ui-icon-meh:before {
    content: "\e666";
}
.ui-icon-meh-o:before {
    content: "\e667";
}
.ui-icon-shopping-cart:before {
    content: "\e668";
}
.ui-icon-save:before {
    content: "\e669";
}
.ui-icon-user:before {
    content: "\e66a";
}
.ui-icon-video-camera:before {
    content: "\e66b";
}
.ui-icon-to-top:before {
    content: "\e66c";
}
.ui-icon-team:before {
    content: "\e66d";
}
.ui-icon-tablet:before {
    content: "\e66e";
}
.ui-icon-solution:before {
    content: "\e66f";
}
.ui-icon-search:before {
    content: "\e670";
}
.ui-icon-share-alt:before {
    content: "\e671";
}
.ui-icon-setting:before {
    content: "\e672";
}
.ui-icon-poweroff:before {
    content: "\e6d5";
}
.ui-icon-picture:before {
    content: "\e674";
}
.ui-icon-phone:before {
    content: "\e675";
}
.ui-icon-paper-clip:before {
    content: "\e676";
}
.ui-icon-notification:before {
    content: "\e677";
}
.ui-icon-mobile:before {
    content: "\e678";
}
.ui-icon-menu-unfold:before {
    content: "\e679";
}
.ui-icon-inbox:before {
    content: "\e67a";
}
.ui-icon-lock:before {
    content: "\e67b";
}
.ui-icon-qrcode:before {
    content: "\e67c";
}
.ui-icon-play-circle:before {
    content: "\e6d0";
}
.ui-icon-play-circle-o:before {
    content: "\e6d1";
}
.ui-icon-tag:before {
    content: "\e6d2";
}
.ui-icon-tag-o:before {
    content: "\e6d3";
}
.ui-icon-tags:before {
    content: "\e67d";
}
.ui-icon-tags-o:before {
    content: "\e67e";
}
.ui-icon-cloud-o:before {
    content: "\e67f";
}
.ui-icon-cloud:before {
    content: "\e680";
}
.ui-icon-cloud-upload:before {
    content: "\e681";
}
.ui-icon-cloud-download:before {
    content: "\e682";
}
.ui-icon-cloud-download-o:before {
    content: "\e683";
}
.ui-icon-cloud-upload-o:before {
    content: "\e684";
}
.ui-icon-environment:before {
    content: "\e685";
}
.ui-icon-environment-o:before {
    content: "\e686";
}
.ui-icon-eye:before {
    content: "\e687";
}
.ui-icon-eye-o:before {
    content: "\e688";
}
.ui-icon-camera:before {
    content: "\e689";
}
.ui-icon-camera-o:before {
    content: "\e68a";
}
.ui-icon-windows:before {
    content: "\e68b";
}
.ui-icon-apple:before {
    content: "\e68c";
}
.ui-icon-apple-o:before {
    content: "\e6d4";
}
.ui-icon-android:before {
    content: "\e68d";
}
.ui-icon-aliwangwang:before {
    content: "\e68e";
}
.ui-icon-aliwangwang-o:before {
    content: "\e68f";
}
.ui-icon-export:before {
    content: "\e691";
}
.ui-icon-edit:before {
    content: "\e692";
}
.ui-icon-circle-down-o:before {
    content: "\e693";
}
.ui-icon-circle-down-:before {
    content: "\e694";
}
.ui-icon-appstore-o:before {
    content: "\e695";
}
.ui-icon-appstore:before {
    content: "\e696";
}
.ui-icon-scan:before {
    content: "\e697";
}
.ui-icon-file-text:before {
    content: "\e698";
}
.ui-icon-folder-open:before {
    content: "\e699";
}
.ui-icon-hdd:before {
    content: "\e69a";
}
.ui-icon-ie:before {
    content: "\e69b";
}
.ui-icon-file-jpg:before {
    content: "\e69c";
}
.ui-icon-like:before {
    content: "\e64c";
}
.ui-icon-like-o:before {
    content: "\e69d";
}
.ui-icon-dislike:before {
    content: "\e64b";
}
.ui-icon-dislike-o:before {
    content: "\e69e";
}
.ui-icon-delete:before {
    content: "\e69f";
}
.ui-icon-enter:before {
    content: "\e6a0";
}
.ui-icon-pushpin-o:before {
    content: "\e6a1";
}
.ui-icon-pushpin:before {
    content: "\e6a2";
}
.ui-icon-heart:before {
    content: "\e6a3";
}
.ui-icon-heart-o:before {
    content: "\e6a4";
}
.ui-icon-pay-circle:before {
    content: "\e6a5";
}
.ui-icon-pay-circle-o:before {
    content: "\e6a6";
}
.ui-icon-smile-circle:before,
.ui-icon-smile:before {
    content: "\e6a7";
}
.ui-icon-smile-o:before {
    content: "\e6a8";
}
.ui-icon-frown-o:before {
    content: "\e6a9";
}
.ui-icon-calculator:before {
    content: "\e6aa";
}
.ui-icon-message:before {
    content: "\e6ab";
}
.ui-icon-chrome:before {
    content: "\e6ac";
}
.ui-icon-github:before {
    content: "\e6ad";
}
.ui-icon-file-unknown:before {
    content: "\e6af";
}
.ui-icon-file-excel:before {
    content: "\e6b0";
}
.ui-icon-file-ppt:before {
    content: "\e6b1";
}
.ui-icon-file-word:before {
    content: "\e6b2";
}
.ui-icon-file-pdf:before {
    content: "\e6b3";
}
.ui-icon-desktop:before {
    content: "\e6b4";
}
.ui-icon-upload:before {
    content: "\e6b6";
}
.ui-icon-download:before {
    content: "\e6b7";
}
.ui-icon-pie-chart:before {
    content: "\e6b8";
}
.ui-icon-unlock:before {
    content: "\e6ba";
}
.ui-icon-calendar:before {
    content: "\e6bb";
}
.ui-icon-windows-o:before {
    content: "\e6bc";
}
.ui-icon-dot-chart:before {
    content: "\e6bd";
}
.ui-icon-bar-chart:before {
    content: "\e6be";
}
.ui-icon-code:before {
    content: "\e6bf";
}
.ui-icon-plus-square:before {
    content: "\e6c0";
}
.ui-icon-minus-square:before {
    content: "\e6c1";
}
.ui-icon-close-square:before {
    content: "\e6c2";
}
.ui-icon-close-square-o:before {
    content: "\e6c3";
}
.ui-icon-check-square:before {
    content: "\e6c4";
}
.ui-icon-check-square-o:before {
    content: "\e6c5";
}
.ui-icon-fast-backward:before {
    content: "\e6c6";
}
.ui-icon-fast-forward:before {
    content: "\e6c7";
}
.ui-icon-up-square:before {
    content: "\e6c8";
}
.ui-icon-down-square:before {
    content: "\e6c9";
}
.ui-icon-left-square:before {
    content: "\e6ca";
}
.ui-icon-right-square:before {
    content: "\e6cb";
}
.ui-icon-right-square-o:before {
    content: "\e6cc";
}
.ui-icon-left-square-o:before {
    content: "\e6cd";
}
.ui-icon-down-square-o:before {
    content: "\e6ce";
}
.ui-icon-up-square-o:before {
    content: "\e6cf";
}
.ui-icon-loading:before {
    content: "\e6ae";
}
.ui-icon-bulb:before {
    content: "\e649";
}
.ui-icon-select:before {
    content: "\e64a";
}
.ui-icon-addfile:before {
    content: "\e910";
}
.ui-icon-addfolder:before {
    content: "\e914";
}
.ui-icon-switcher:before {
    content: "\e913";
}
.ui-icon-rocket:before {
    content: "\e90f";
}
.ui-icon-dingding:before {
    content: "\e923";
}
.ui-icon-dingding-o:before {
    content: "\e925";
}

web 中原有的 static/fonts 内容复制到 ui/src/assets/old-icon/fonts,然后在 app.js 中引用:

import './assets/styles/main.scss'
import './assets/old-icon/patch.scss' // ! here
// ...

这个时候你会发现页面上的图标都回来了。

但是有些图标会偏上,针对这些图标,找到代码中设置其 vertical-align: top,注释掉就行。

Su1024 commented 2 years ago

请问跨域的问题你是怎么解决的呢

Aysnine commented 2 years ago

@Su1024 我是把前端工程单独作为仓库,并给前端加上nginx,让api请求也走前端的nginx,nginx把对api的请求反向代理给后端服务。

Su1024 commented 2 years ago

这个项目做的也挺逗的

Aysnine commented 2 years ago

@Su1024 普通又自信的项目,一堆能跑起来的💩

Su1024 commented 2 years ago

@Aysnine you are right ~~~

Su1024 commented 2 years ago

@Su1024 我是把前端工程单独作为仓库,并给前端加上nginx,让api请求也走前端的nginx,nginx把对api的请求反向代理给后端服务。

这种在开发的时候怎么解决呢

Su1024 commented 2 years ago

image image

我在nginx配置了监听前端端口,也将前端调用的api地址改成了前端的端口 还是解决不了跨域问题

Aysnine commented 2 years ago

开发时不需要nginx,直接用 mock 里的代理就行:

fes.config.js:

..
env: {
  local: {
   api: '/qualitis', // 这里不要指定host:port
...

mock.js:

module.exports = function (cgiMock, /* Mock */) {

    cgiMock.prefix = '/qualitis';

    cgiMock.proxy('http://127.0.0.1:5001/qualitis');
};

不过你会发现前端开发环境启动不起来,需要你手动改一行源码,解决方法参考:https://github.com/WeBankFinTech/fes.js/issues/73#issuecomment-998544220

Su1024 commented 2 years ago

@Aysnine 感谢,我按照你提供的内容做了对应修改 可以正常启动,但是在页面请求的时候提示404 找不到对应接口

Su1024 commented 2 years ago

image

Aysnine commented 2 years ago

@Su1024 这个问题我也遇到了,分两种情况来看。

首先在后端的API入口打印前端的请求日志,看请求是否正常进入后端。

如果是未正常进入的情况,就需要检查前后端URL的 prefix是否配置正确,有可能前端真实的请求少了 qualitis 这个前缀,之类的问题。

如果能进入的情况,就是对应的 API 有报错导致 404(因为根据我方后端的反馈,后端代码里不知道哪个小可爱,把内部错误都重定向为 404 页面了,具体代码我没看),需要你自己排查 error。

Su1024 commented 2 years ago

thinks

Tangjiafeng commented 2 years ago

推荐使用最新的发布版本,ui资源已与社区同步。

yhb8746779 commented 4 months ago

@Su1024 普通又自信的项目,一堆能跑起来的💩

真的是一坨 💩