GithubHelp home page GithubHelp logo

duolabmeng6 / goeasydesigner Goto Github PK

View Code? Open in Web Editor NEW
117.0 2.0 24.0 32.6 MB

This is a powerful window visualization design project designed to meet the needs of multiple platforms, including Windows, macOS, and Linux.

Home Page: https://go.kenhong.com/

License: GNU Lesser General Public License v3.0

HTML 0.71% Vue 57.66% JavaScript 24.49% Go 13.25% NSIS 2.72% CSS 0.80% Shell 0.27% Dockerfile 0.11%
gogui golang wails vue3

goeasydesigner's Introduction

Window Designer

666

This is a simple and easy-to-use visual interface design tool, developed in Go language using the Wails framework, supporting systems like Windows, MacOS, Linux, etc.

Main Repository: https://github.com/duolabmeng6/GoEasyDesigner

Mirror Repository: https://gitee.com/duolabmeng666/go-easy-designer

Project Progress:

The project is in active development. Front-end experts are welcome to contribute PRs.

Completed tasks:

  • Cross-platform compatibility: Supports Windows, MacOS, and Linux systems.
  • Interface design and functionality development: Completed overall layout design, functional process design, interface drawing, property modification, component dragging, double-clicking components to jump to corresponding event functions, and other core features.
  • Intelligent code editor: Implemented the Chinese character initial letter input reminder function for the code editing box, enhancing coding efficiency.
  • goefun library Chinese function library support: Developing using Chinese functions in Golang.
  • Component library: Completed development of components like buttons, text boxes, labels, switches, radio buttons, checkboxes, common layouts, flex layouts, tree boxes, menus, tables, progress bars, file selectors, and more.
  • Custom component support: Allows the creation of custom components, such as login boxes, for rapid application development.
  • Integrated development environment: Provided a one-click environment setup package, simplifying the construction of the development environment.
  • Multilingual support: The application supports multiple languages including Chinese and English.

Tasks to be completed:

  • jsefun library support: Planned and awaiting development.
  • Component library enhancement: Ongoing, further improvement of element-plus components.
  • Support for ElectronJS: Planned, will support ElectronJS as backend technology.
  • Custom cloud components: Users will be able to upload their templates for others to use.

Online Experience

Thanks to a friend's server, you can now enjoy an online experience.

Domestic address: https://go.kenhong.com/

International address: https://g.yx24.me

Download Window Running Project, during online experience, design the interface in the browser and save. Two files will be downloaded: design.json, __aux_code.js. Make sure your browser allows downloading multiple files, and place the design files in the specified location.

Video Tutorial: 10 Minutes to Get Started

Video Tutorial: 3 Minutes to Learn Custom Component Packaging

Environment Installation

Method 1

1. Install Node.js Development Environment

Node.js Download Page Version 18 or above

Domestic mirror: npm install -g cnpm --registry=http://registry.npmmirror.com

Install Vite: npm install vite@latest

2. Install Go Language Development Environment

Go Language Download Page Any version

Install Wails Wails Framework Documentation

Domestic mirror execution: go env -w GOPROXY=https://goproxy.cn,direct

go install github.com/wailsapp/wails/v2/cmd/wails@latest

After successful installation, run the Wails command. If there is content output, it means successful installation.

Method 2: Windows Complete Running Environment Package Download

Xiaofeiji Cloud Disk Download Address, No Login Required

Download GoEasyDesigner.2023.12.6.Including Running Environment.zip and unzip.

`env_soft.

7zRunning environment package includesgoandnode. Unzip and find One-Click Environment Configuration.exe`, run as administrator.

If installation is successful, you can directly open GoEasyDesigner.exe.

If not configured successfully, add environment variables to the system's PATH. After adding, run One-Click Environment Configuration.exe.

C:\GoEasyDesigner\env_soft\go1.21.4\bin
C:\GoEasyDesigner\env_soft\go1.21.4\AppData\bin
C:\GoEasyDesigner\env_soft\node-v20.9.0-win-x64

go-easy-demo folder is a sample project.

Open go-easy-demo\frontend\src\win\design.json with Window Designer to design the interface or run and compile the project.

Open the go-easy-demo folder with Goland IDE to start coding.

Project Creation

Create Window Running Project

This project is for window running, your code will also be written here.

Create a project:

wails init -n "go-easy-demo" -t https://github.com/duolabmeng6/wails-template-vue-go-easy

Run window:

cd go-easy-demo
wails dev

Compile into executable file:

cd go-easy-demo
wails build

Front-end only debugging:

cd go-easy-demo/frontend
npm run dev

Usage Instructions

Download GoEasyDesigner

Download the latest version: https://github.com/duolabmeng6/GoEasyDesigner/releases

Interface design file location:

go-easy-demo/frontend/src/win/design.json

Webstorm IDE Code Jump Plugin

To experience double-clicking components in the IDE to automatically jump to the corresponding function, install the QtEasyDesigner plugin in Webstorm. In this project's files,

After installation, right-click in the IDE editor and select Configure QtEasyDesigner.

macOS path:

/Applications/GoEasyDesigner.app/Contents/MacOS/GoEasyDesigner

Windows path:

C:\GoEasyDesigner\GoEasyDesigner.exe

For subsequent use, open design.json in the editor, right-click and select Open QtEasyDesigner. The interface will appear.

JS code uses Webstorm IDE. Most coding should be done in JS. Use Go code only if JS cannot achieve the desired functionality. Go code is written in Goland IDE, typically in app.go.

For Window Designer Development

For debugging in the IDE, you need the following configuration:

Build package changeme.

Working directory /Users/ll/Documents/GitHub/GoEasyDesigner/GoEasyDesigner change to your path.

Environment variable CGO_LDFLAGS=-framework UniformTypeIdentifiers is needed for macOS, not for Windows.

Go tool arguments -tags dev -gcflags "all=-N -l".

Program arguments (optional) File Path=/Users/ll/Documents/GitHub/GoEasyDesigner/go-easy-demo/frontend/src/win/design.json port=8080 This is to work with the IDE plugin, where port is the plugin's port.

Now you can debug with breakpoints in app.go.

go-easy-demo is a template project

Interface data location:

go-easy-demo/frontend/src/win/design.json

Run to see the effects:

cd go-easy-demo
wails dev

Window Designer Development Cases

Duoduo Projection Screen Easily project video files from MacOS and Windows to TV, similar to mobile phone screen projection, no need for NAS or other cumbersome operations. Direct file projection.

Contribution

The contributor list is too large for the README file! All the outstanding individuals who have contributed to this project can be found here Contributor List. We will create a page later.

License

This project is licensed under the GNU Lesser General Public License (LGPL) Version 3. For detailed information, please refer to the license file.

Learning and Exchange

QQ Group: 927427009

goeasydesigner's People

Contributors

codeppao avatar duolabmeng6 avatar maicarons 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

Watchers

 avatar  avatar

goeasydesigner's Issues

建议删掉代码编辑器

建议删掉代码编辑器,goland已经做的很好了,建议封装成goland插件形式,给go项目做一个窗口设计器。

窗口启动失败,报错

感谢作者的好项目!

运行wails dev 以及编译后运行都提示以下内容,
Overriding existing handler for signal 10. Set JSC_SIGNAL_FOR_GC if you want WebKit to use a different signal DEB | [DevWebServer] Serving DevServer at http://localhost:34115 libEGL warning: DRI2: failed to authenticate

系统环境:

└─$ uname -a

Linux Doit 6.3.0-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.3.7-1 (2023-06-29) x86_64 GNU/Linux
└─$ wails doctor

                                
          Wails Doctor          
                                

                                                                                                                                                                                                                                                                                      
# Wails
Version         | v2.6.0
Package Manager | apt   

# System
┌───────────────────────────────┐
| OS           | Kali GNU/Linux |
| Version      | 2023.2         |
| ID           | kali           |
| Go Version   | go1.20.7       |
| Platform     | linux          |
| Architecture | amd64          |
└───────────────────────────────┘

# Dependencies
┌────────────────────────────────────────────────────────────┐
| Dependency | Package Name          | Status    | Version   |
| *docker    | docker.io             | Installed | 24.0.5    |
| gcc        | build-essential       | Installed | 12.10     |
| libgtk-3   | libgtk-3-dev          | Installed | 3.24.38-2 |
| libwebkit  | libwebkit2gtk-4.0-dev | Installed | 2.40.5-1  |
| npm        | npm                   | Installed | 9.8.1     |
| *nsis      | nsis                  | Installed | v3.09-1   |
| pkg-config | pkg-config            | Installed | 1.8.1     |
└───────────────── * - Optional Dependency ──────────────────┘

# Diagnosis
 SUCCESS  Your system is ready for Wails development!
└─$ node -v                
v20.0.0

image

测试wails demo项目是没问题的

image

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.