Coder Social home page Coder Social logo

junvary / gin-quasar-admin Goto Github PK

View Code? Open in Web Editor NEW
236.0 236.0 74.0 22.48 MB

😊A full-featured management system based on Quasar2, Vue3, Go, Gin, Gorm. 😊Gin-Quasar-Admin是一个基于Quasar和Go语言的功能全面的管理系统.

Home Page: http://81.68.159.232/

License: MIT License

Go 39.75% JavaScript 11.19% Vue 44.77% SCSS 0.72% HTML 0.34% Smarty 3.24%
echarts gin gin-vue go golang gorm pinia quasar quasar-cli quasar-framework quasar2 script-setup vue vue3 vue3-admin websocket

gin-quasar-admin's People

Contributors

aehm2k5 avatar alreadyshow avatar junvary avatar neov-98 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gin-quasar-admin's Issues

Universal translations

Hello.
I want to clarify the translations.
If the project positions support for many languages, then I suggest:

  1. Write comments both in code and in GIT in English.
  2. Make translations of phrases as a whole, not words separately. For example, the Russian language has many forms of endings and word translation, and then the sentence assembly will not be able to follow the context of the phrase output.

Code:

$q.dialog({
        title: t('Reset') + t('Password'),
        message: t('Confirm') + t('Reset') + t('Password') + '?' + '(' + row.username + ')',
        cancel: true,
        persistent: true,
    })

Replace with:

$q.dialog({
        title: t('Reset Password'),
        message: t('Confirm Reset Password?') + ' ' + '(' + row.username + ')',
        cancel: true,
        persistent: true,
    })

Translate Russian:

...
    "Reset": "Cброс",
    "Password": "Пароль",
    "Confirm": "Подтверждение",
...

...
    "Reset Password": "Cброс пароля",
    "Confirm Reset Password?": "Подтвердите сброс пароля?",
...

If there is no translation, a readable key in English is output

If you accept my offer, I am ready to help with the Russian translation.

Data migration after plugin creation

Is there an easier way to start migrations and database filling after creating a plugin?

At the moment, after creating the plugin, you need to delete the database and clear the config, then the system starts initialization and the data is filled in with the data of the new plugin.

Errors in Backend

When frontend begins to work
Backend generates errors:
изображение

2023/02/13 14:57:46 /home/webmaster/projects/fullstack/gin-quasar-admin/GQA-BACKEND/utils/getconfig.go:22 Error 1146: Table 'db-admin.sys_config_frontend' doesn't exist
[11.816ms] [rows:0] SELECT * FROM sys_config_frontend WHERE config_item = 'pluginLoginLayout' AND sys_config_frontend.deleted_at IS NULL ORDER BY sys_config_frontend.id LIMIT 1
[GIN] 2023/02/13 - 14:57:46 | 200 | 12.263134ms | 192.168.56.1 | POST "/public/check-db"

2023/02/13 14:57:46 /home/webmaster/projects/fullstack/gin-quasar-admin/GQA-BACKEND/utils/getconfig.go:10 Error 1146: Table 'db-admin.sys_config_backend' doesn't exist
[3.988ms] [rows:0] SELECT * FROM sys_config_backend WHERE config_item = 'captchaKeyLong' AND sys_config_backend.deleted_at IS NULL ORDER BY sys_config_backend.id LIMIT 1
[GIN] 2023/02/13 - 14:57:46 | 200 | 4.173106ms | 192.168.56.1 | POST "/public/get-captcha"
[GIN] 2023/02/13 - 14:57:46 | 204 | 9.865µs | 192.168.56.1 | OPTIONS "/public/get-dict-all"

2023/02/13 14:57:46 /home/webmaster/projects/fullstack/gin-quasar-admin/GQA-BACKEND/service/public/dict.go:12 Error 1146: Table 'db-admin.sys_dict' doesn't exist
[13.187ms] [rows:0] SELECT * FROM sys_dict WHERE sys_dict.deleted_at IS NULL
[GIN] 2023/02/13 - 14:57:46 | 200 | 13.720128ms | 192.168.56.1 | POST "/public/get-dict-all"
[GIN] 2023/02/13 - 14:57:46 | 204 | 7.21µs | 192.168.56.1 | OPTIONS "/public/get-config-frontend-all"

2023/02/13 14:57:46 /home/webmaster/projects/fullstack/gin-quasar-admin/GQA-BACKEND/service/public/configfrontend.go:12 Error 1146: Table 'db-admin.sys_config_frontend' doesn't exist
[4.598ms] [rows:0] SELECT * FROM sys_config_frontend WHERE sys_config_frontend.deleted_at IS NULL
[GIN] 2023/02/13 - 14:57:46 | 200 | 4.83829ms | 192.168.56.1 | POST "/public/get-config-frontend-all"
[GIN] 2023/02/13 - 14:57:46 | 204 | 6.426µs | 192.168.56.1 | OPTIONS "/public/get-config-backend-all"

2023/02/13 14:57:46 /home/webmaster/projects/fullstack/gin-quasar-admin/GQA-BACKEND/service/public/configbackend.go:19 Error 1146: Table 'db-admin.sys_config_backend' doesn't exist
[4.151ms] [rows:0] SELECT * FROM sys_config_backend WHERE config_item in ('avatarMaxSize','avatarExt','fileMaxSize','fileExt','logoMaxSize','logoExt','faviconMaxSize','faviconExt','bannerImageMaxSize','bannerImageExt') AND sys_config_backend.deleted_at IS NULL
[GIN] 2023/02/13 - 14:57:46 | 200 | 4.326045ms | 192.168.56.1 | POST "/public/get-config-backend-all"

mysql

The database cannot be searched by pagination

i18n

hi, please add i18n. tanks

I18N title error

GQA-FRONTEND/src/i18n/en-US/index.js
line 99 ColseOther => CloseOther
GQA-FRONTEND/src/i18n/zh-CN/index.js
line 99 ColosOther => CloseOther

GQA-BACKEND&GQA-FRONTEND均出错不能直接运行

安装好go后, 运行出如下错误:

❯ go run main.go
boot/viper.go:6:2: missing go.sum entry for module providing package github.com/fsnotify/fsnotify (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot
model/request.go:5:2: missing go.sum entry for module providing package github.com/gin-gonic/gin (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot
model/login.go:3:8: missing go.sum entry for module providing package github.com/golang-jwt/jwt (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/middleware); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/middleware
model/notice.go:4:2: missing go.sum entry for module providing package github.com/google/uuid (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/model); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/model
service/public/websocket.go:6:2: missing go.sum entry for module providing package github.com/gorilla/websocket (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/api/public); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/api/public
global/global.go:5:2: missing go.sum entry for module providing package github.com/mojocn/base64Captcha (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/global); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/global
service/public/login.go:8:2: missing go.sum entry for module providing package github.com/mssola/user_agent (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/service/public); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/service/public
global/global.go:6:2: missing go.sum entry for module providing package github.com/spf13/viper (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot
gqaplugin/example/service/privateservice/privateservice.go:11:2: missing go.sum entry for module providing package github.com/xuri/excelize/v2 (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/gqaplugin/example/service/privateservice); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/gqaplugin/example/service/privateservice
global/global.go:7:2: missing go.sum entry for module providing package go.uber.org/zap (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot
boot/zap.go:7:2: missing go.sum entry for module providing package go.uber.org/zap/zapcore (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot
boot/zap.go:8:2: missing go.sum entry for module providing package gopkg.in/natefinch/lumberjack.v2 (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot
config/gorm.go:4:2: missing go.sum entry for module providing package gorm.io/driver/mysql (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot
config/gorm.go:5:2: missing go.sum entry for module providing package gorm.io/gorm (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/boot
model/response.go:6:2: missing go.sum entry for module providing package gorm.io/gorm/clause (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/model); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/model
config/gorm.go:6:2: missing go.sum entry for module providing package gorm.io/gorm/schema (imported by github.com/Junvary/gin-quasar-admin/GQA-BACKEND/config); to add:
        go get github.com/Junvary/gin-quasar-admin/GQA-BACKEND/config

没用过go语言, 这个是要怎么解决? 另外

前端运行后,页面打开是空白,console里显示如下, 咋回事?

[Quasar] Running SPA.
vue-router.mjs?6605:35 
        
       [Vue Router warn]: No match found for location with path "/dashboard"
warn @ vue-router.mjs?6605:35
await in warn(异步)
eval @ client-entry.js?2f39:384
Promise.then(异步)
eval @ client-entry.js?2f39:354
Promise.then(异步)
eval @ client-entry.js?2f39:334
./.quasar/client-entry.js @ app.js:30
__webpack_require__ @ app.js:7119
(匿名) @ app.js:8301
__webpack_require__.O @ app.js:7166
(匿名) @ app.js:8302
(匿名) @ app.js:8304
runtime-core.esm-bundler.js?f781:38 
        
       [Vue warn]: Unhandled error during execution of setup function 
  at <Index onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< undefined > > 
  at <RouterView> 
  at <App>
warn @ runtime-core.esm-bundler.js?f781:38
Promise.then(异步)
queueFlush @ runtime-core.esm-bundler.js?f781:280
queuePostFlushCb @ runtime-core.esm-bundler.js?f781:302
queueEffectWithSuspense @ runtime-core.esm-bundler.js?f781:1589
scheduler @ runtime-core.esm-bundler.js?f781:1811
triggerEffect @ reactivity.esm-bundler.js?a27c:396
triggerEffects @ reactivity.esm-bundler.js?a27c:386
triggerRefValue @ reactivity.esm-bundler.js?a27c:1002
eval @ reactivity.esm-bundler.js?a27c:1136
triggerEffect @ reactivity.esm-bundler.js?a27c:396
triggerEffects @ reactivity.esm-bundler.js?a27c:381
triggerRefValue @ reactivity.esm-bundler.js?a27c:1002
eval @ reactivity.esm-bundler.js?a27c:1136
triggerEffect @ reactivity.esm-bundler.js?a27c:396
triggerEffects @ reactivity.esm-bundler.js?a27c:381
triggerRefValue @ reactivity.esm-bundler.js?a27c:1002
set value @ reactivity.esm-bundler.js?a27c:1047
finalizeNavigation @ vue-router.mjs?6605:3334
eval @ vue-router.mjs?6605:3207
Promise.then(异步)
pushWithRedirect @ vue-router.mjs?6605:3174
eval @ vue-router.mjs?6605:3190
Promise.then(异步)
pushWithRedirect @ vue-router.mjs?6605:3174
pushWithRedirect @ vue-router.mjs?6605:3142
push @ vue-router.mjs?6605:3099
install @ vue-router.mjs?6605:3530
use @ runtime-core.esm-bundler.js?f781:4365
start @ client-entry.js?2f39:317
await in start(异步)
eval @ client-entry.js?2f39:384
Promise.then(异步)
eval @ client-entry.js?2f39:354
Promise.then(异步)
eval @ client-entry.js?2f39:334
./.quasar/client-entry.js @ app.js:30
__webpack_require__ @ app.js:7119
(匿名) @ app.js:8301
__webpack_require__.O @ app.js:7166
(匿名) @ app.js:8302
(匿名) @ app.js:8304
runtime-core.esm-bundler.js?f781:38 
        
       [Vue warn]: Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core 
  at <Index onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< undefined > > 
  at <RouterView> 
  at <App>
warn @ runtime-core.esm-bundler.js?f781:38
Promise.then(异步)
queueFlush @ runtime-core.esm-bundler.js?f781:280
queuePostFlushCb @ runtime-core.esm-bundler.js?f781:302
queueEffectWithSuspense @ runtime-core.esm-bundler.js?f781:1589
scheduler @ runtime-core.esm-bundler.js?f781:1811
triggerEffect @ reactivity.esm-bundler.js?a27c:396
triggerEffects @ reactivity.esm-bundler.js?a27c:386
triggerRefValue @ reactivity.esm-bundler.js?a27c:1002
eval @ reactivity.esm-bundler.js?a27c:1136
triggerEffect @ reactivity.esm-bundler.js?a27c:396
triggerEffects @ reactivity.esm-bundler.js?a27c:381
triggerRefValue @ reactivity.esm-bundler.js?a27c:1002
eval @ reactivity.esm-bundler.js?a27c:1136
triggerEffect @ reactivity.esm-bundler.js?a27c:396
triggerEffects @ reactivity.esm-bundler.js?a27c:381
triggerRefValue @ reactivity.esm-bundler.js?a27c:1002
set value @ reactivity.esm-bundler.js?a27c:1047
finalizeNavigation @ vue-router.mjs?6605:3334
eval @ vue-router.mjs?6605:3207
Promise.then(异步)
pushWithRedirect @ vue-router.mjs?6605:3174
eval @ vue-router.mjs?6605:3190
Promise.then(异步)
pushWithRedirect @ vue-router.mjs?6605:3174
pushWithRedirect @ vue-router.mjs?6605:3142
push @ vue-router.mjs?6605:3099
install @ vue-router.mjs?6605:3530
use @ runtime-core.esm-bundler.js?f781:4365
start @ client-entry.js?2f39:317
await in start(异步)
eval @ client-entry.js?2f39:384
Promise.then(异步)
eval @ client-entry.js?2f39:354
Promise.then(异步)
eval @ client-entry.js?2f39:334
./.quasar/client-entry.js @ app.js:30
__webpack_require__ @ app.js:7119
(匿名) @ app.js:8301
__webpack_require__.O @ app.js:7166
(匿名) @ app.js:8302
(匿名) @ app.js:8304
vue-router.mjs?6605:35 
        
       [Vue Router warn]: uncaught error during route navigation:
warn @ vue-router.mjs?6605:35
Promise.catch(异步)
handleScroll @ vue-router.mjs?6605:3487
finalizeNavigation @ vue-router.mjs?6605:3335
eval @ vue-router.mjs?6605:3207
Promise.then(异步)
pushWithRedirect @ vue-router.mjs?6605:3174
eval @ vue-router.mjs?6605:3190
Promise.then(异步)
pushWithRedirect @ vue-router.mjs?6605:3174
pushWithRedirect @ vue-router.mjs?6605:3142
push @ vue-router.mjs?6605:3099
install @ vue-router.mjs?6605:3530
use @ runtime-core.esm-bundler.js?f781:4365
start @ client-entry.js?2f39:317
await in start(异步)
eval @ client-entry.js?2f39:384
Promise.then(异步)
eval @ client-entry.js?2f39:354
Promise.then(异步)
eval @ client-entry.js?2f39:334
./.quasar/client-entry.js @ app.js:30
__webpack_require__ @ app.js:7119
(匿名) @ app.js:8301
__webpack_require__.O @ app.js:7166
(匿名) @ app.js:8302
(匿名) @ app.js:8304
vue-router.mjs?6605:3451 
        
       SyntaxError: Not available in legacy mode (at message-compiler.esm-bundler.js?dc5c:54:1)
    at createCompileError (message-compiler.esm-bundler.js?dc5c:54:1)
    at createI18nError (vue-i18n.esm-bundler.js?bf87:100:1)
    at useI18n (vue-i18n.esm-bundler.js?bf87:2229:1)
    at setup (index.vue?9fd0:27:1)
    at callWithErrorHandling (runtime-core.esm-bundler.js?f781:155:1)
    at setupStatefulComponent (runtime-core.esm-bundler.js?f781:7204:1)
    at setupComponent (runtime-core.esm-bundler.js?f781:7159:1)
    at mountComponent (runtime-core.esm-bundler.js?f781:5508:1)
    at processComponent (runtime-core.esm-bundler.js?f781:5483:1)
    at patch (runtime-core.esm-bundler.js?f781:5085:1)
triggerError @ vue-router.mjs?6605:3451
Promise.catch(异步)
handleScroll @ vue-router.mjs?6605:3487
finalizeNavigation @ vue-router.mjs?6605:3335
eval @ vue-router.mjs?6605:3207
Promise.then(异步)
pushWithRedirect @ vue-router.mjs?6605:3174
eval @ vue-router.mjs?6605:3190
Promise.then(异步)
pushWithRedirect @ vue-router.mjs?6605:3174
pushWithRedirect @ vue-router.mjs?6605:3142
push @ vue-router.mjs?6605:3099
install @ vue-router.mjs?6605:3530
use @ runtime-core.esm-bundler.js?f781:4365
start @ client-entry.js?2f39:317
await in start(异步)
eval @ client-entry.js?2f39:384
Promise.then(异步)
eval @ client-entry.js?2f39:354
Promise.then(异步)
eval @ client-entry.js?2f39:334
./.quasar/client-entry.js @ app.js:30
__webpack_require__ @ app.js:7119
(匿名) @ app.js:8301
__webpack_require__.O @ app.js:7166
(匿名) @ app.js:8302
(匿名) @ app.js:8304
message-compiler.esm-bundler.js?dc5c:54 
        
       Uncaught (in promise) SyntaxError: Not available in legacy mode (at message-compiler.esm-bundler.js?dc5c:54:1)
    at createCompileError (message-compiler.esm-bundler.js?dc5c:54:1)
    at createI18nError (vue-i18n.esm-bundler.js?bf87:100:1)
    at useI18n (vue-i18n.esm-bundler.js?bf87:2229:1)
    at setup (index.vue?9fd0:27:1)
    at callWithErrorHandling (runtime-core.esm-bundler.js?f781:155:1)
    at setupStatefulComponent (runtime-core.esm-bundler.js?f781:7204:1)
    at setupComponent (runtime-core.esm-bundler.js?f781:7159:1)
    at mountComponent (runtime-core.esm-bundler.js?f781:5508:1)
    at processComponent (runtime-core.esm-bundler.js?f781:5483:1)
    at patch (runtime-core.esm-bundler.js?f781:5085:1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.