1.0.8-beta.11 • Published 3 years ago

persagy_electron v1.0.8-beta.11

Weekly downloads
14
License
-
Repository
-
Last release
3 years ago

persagy_electron

备注及第三方库版本号说明

1、需把镜像源切换到taobao
	切换方法,先安装nrm 然后使用nrm use taobao
2、第三方库说明
	nodejs需大于14.0
	"electron":"12.0.1",
	"electron-packager":"15.2.0",
	"body-parser": "1.19.0",
	"ejs": "^3.1.5",
	"express": "4.17.1",
	"log4js": "^6.3.0",
	"request": "^2.88.2",
	"ffi-napi":"3.1.0",
	"extract-zip": "^2.0.1"

安装

1.打开cmd命令窗口
2.cd到要使用persagy_electron的项目目录
3.查看npx是否可用 
	输入命令 npm -v			查看npm版本信息,版本需>=5.2
	输入命令 npx -v 		输出版本信息的话代表npx命令可用,否则请执行 npm install -g npx
4.执行命令:
	npx persagy_electron
	persagy_electron为模块名称

运行

开发环境

	1.cd 到项目根目录下,执行:npm run electron_dev
	2.在vs_code里,点击 运行 ->  调试

生产环境

	找到打包的生成目录,运行其内的项目名称.exe文件即可,该exe文件的运行不依赖node等环境,即:电脑上没有安装node环境,依然可运行该exe文件

设置vscode调试

vscode顶部点击 运行 -> 打开配置 ->NodeJs环境     把以下配置复制进去,覆盖掉已有的全部配置

{
	// 使用 IntelliSense 了解相关属性。 
	// 悬停以查看现有属性的描述。
	// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
	"version": "0.2.0",
	"configurations": [
		{
			"type": "node",
			"request": "launch",
			"name": "启动程序",
			"cwd": "${workspaceFolder}",
			"runtimeExecutable": "npm",
			"runtimeArgs": ["run","electron_dev"],
			//跟踪调试对象的所有子过程,并自动附加到在调试模式下启动的子过程
			"autoAttachChildProcesses": true,
			//自动断点到第一行代码处
			"stopOnEntry": false
		  }
	]
}

打包

cd到项目根目录下,执行:npm run electron_build_win   会对项目进行打包,默认生成到项目根目录下的electronBuild目录内

配置说明

开发环境下的配置位于  electron_server/electron_build_config.js内
生产环境下的配置位于 生成的打包目录/config.js内

persagy_electron程序和persagy_electron程序通信、普通网页和persagy_electron程序通信说明

被调用方

声明供调用方进行远程调用的方法 
	声明方式:electron_render.electron_controll_fn_stat(fn);
	传入的fn可以是页面上存在的任意一个方法,此处以公司现用的框架来举例,假设供远程调用的方法为test,示例如下:
	export default {
		name:'',
		data(){
			return {
				myName:'测试控制的名称'
			};
		},
		methods:{
			test:function(x,y){
				console.log('我是:'+this.myName+',我要控制的x为:'+x+'我要控制的y为:'+y);
			}
		},
		mounted:function(){
			var _this=this;
			Vue.nextTick(function () {
				electron_render.electron_controll_fn_stat(_this.test);
			});
		}
	}

调用方

以任意的形式或第三方库发送http请求到被调用方
	此处以公司现用的前端框架来举例说明,且假设要调用的方法为上述被调用方里的test,代码如下:
		1.在persagy_config.js里增加
			'/api/electron_comm': {
				target: 'http://192.168.0.48:8088',
				pathRewrite: { '^/api/': '/' }
			}
			
			说明:
				electron_comm固定,api可以不写
				target里的ip地址为被调用方的ip地址,端口号为被调用方监听的端口号
		2.在需要调用远程方法的地方发送请求
			axios.request({
			  url: "/api/electron_comm/3DMODEL/test",
			  method: "post",
			  data: [0, 1]
			})
			.then((res) => {})
			.catch((err) => {});
			
			说明:
				url中的/api/electron_comm为persagy_config.js里的配置,3DMODEL是指令类型(见下述操作指令类型说明),test为要调用的远程控制方法名称
				data固定为数组类型,数组顺序、长度要和调用的远程控制方法的参数保持一致;此例中对应test方法的参数,第一项对应参数x,第二项对应参数y。
				收到返回 {r:1} 代表调用成功了

操作指令类型说明

3DMODEL		3D模型之间进行远程通信控制
1.0.2

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.8-beta.9

3 years ago

1.0.8-beta.8

3 years ago

1.0.8-beta.7

3 years ago

1.0.8-beta.6

3 years ago

1.0.8-beta.1

3 years ago

1.0.8-beta.0

3 years ago

1.0.8-beta.5

3 years ago

1.0.8-beta.11

3 years ago

1.0.8-beta.4

3 years ago

1.0.8-beta.10

3 years ago

1.0.8-beta.3

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago