Commit 602df1c1 authored by Scott Sun's avatar Scott Sun

s

parent 0aa051d4
let fs = require("fs");
let UglifyJS = require("uglify-js");
let from = "./dist/"
let to = "./min";
let ret = fs.readdirSync(from)
ret.forEach(v => {
if(/\.js$/.test(v)) {
// 读取代码
let code = fs.readFileSync(from + v).toString()
code = code.replace(/['"]use strict['"];/ig, ""); // 去掉严格模式
let com = /(\/\*\s*NAME:[\s\S]+<\/body><\/html>\s*\*\/)/.exec(code);
let result = UglifyJS.minify(code, {
mangle: {
toplevel: true,
reserved: ['_Return_Label_']
}
})
if(com){
result.code = com[1] + "\n" + result.code
}
if(!fs.existsSync(to)){
fs.mkdirSync(to)
}
fs.writeFileSync(to+"/"+v, result.code.replace(/,_Return_Label_=/ig, ";return ") )
}
})
\ No newline at end of file
"use strict";
require("core-js/modules/es.array.join.js");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
require("core-js/modules/es.object.to-string.js");
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
require("core-js/modules/es.regexp.to-string.js");
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
require("core-js/modules/es.date.to-string.js");
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
require("core-js/modules/es.array.reduce.js");
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
require("core-js/modules/es.object.keys.js");
require("core-js/modules/es.regexp.constructor.js");
require("core-js/modules/es.regexp.exec.js");
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
/*
NAME:
......@@ -147,7 +143,36 @@ try {
});
}
IKM.msg(IKM.command("function(props){\n\t\treturn GUI.showForm({\n\t\t\t'title': \"Add Script\", \n\t\t\t'use_core_engine': true, \n\t\t\t'size': '400x300', \n\t\t\t'items': { \n\t\t\t\tname:\"user\",\n\t\t\t\ttype:\"LineEdit\",\n\t\t\t\ttitle:\"User\",\n\t\t\t\tproperty:{},\n\t\t\t\tpack:{\n\t\t\t\t\tlabel:\"User\"\n\t\t\t\t}\n\t\t\t}, \n\t\t\t'values':{ \n\t\t\t\t'user':'TestUserName'\n\t\t\t},\n\t\t\t'include_hidden_items': true,\n\t\t})\n\t}", {}, 1).data); // 保存料号
var obj = {
name: "xiaobai"
};
var Person = /*#__PURE__*/function () {
function Person(props) {
_classCallCheck(this, Person);
this.name = props.name;
this.age = props.age;
this.data = props.data;
}
_createClass(Person, [{
key: "say",
value: function say() {
IKM.msg("my age is ".concat(this.age, ", my data is ").concat(_.toString(this.data)));
}
}]);
return Person;
}();
var arr = [1, 2, [3, 4, 5]];
var p = new Person(_objectSpread(_objectSpread({}, obj), {}, {
age: 18,
data: arr
}));
p.say();
arr.flat(); // 保存料号
if (/yes/ig.test(par.auto_save)) {
GEN.checkInout({
......@@ -194,7 +219,7 @@ try {
resultData.push(tmperr);
Return = {
status: Status,
status: status,
result_data: resultData
};
}
......
/*
NAME:
DESCRIPTION: 描述;
PARAMETER:
[
{
name : 'step',
title : 'step',
type : 'LineEdit',
property : {tool_tip : '目标step,默认是orig'}
},
{
name : 'auto_save',
title : '自动保存',
type : 'RadioBox',
property : {
item_list:[
{name:'yes',text:'YES'},
{name:'no',text:'NO'},
],
tool_tip:'是否自动保存料号开关'
}
}
]
VERSION_HISTORY:
V1.00 2021-03-08 Scott Sun
1.新版本
HELP:
<html><body bgcolor="#DDECFE">
<font size="3" color="#003DB2"><p>功能简介</p></font>
<p> 标题 </ p>
<br>
<font size="3" color="#003DB2"><p>参数配置</p></font>
<p> step信息 </p>
<br>
<font size="3" color="#003DB2"><p>注意事项</p></font>
<p> 无 </p>
<br>
</body></html>
*/
function o(t,e){var r,o=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,r)),o}function e(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach(function(e){a(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function i(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}var t=require("topcam.scriptfunc").argv(),s=require("fs"),c=require("lodash"),u=t.ikm?"topcam":"aimdfm";t.ikm||(t.ikm=require("topcam.ikm6")(t));var b=t.ikm,p=t.gen,m=t.job||t.job_name,f=t.job_id,d=t.db||b.db,l=t.gui,g={};t.par?g=t.par:t.hasOwnProperty("script_parameter")&&(g=JSON.parse(t.script_parameter)),"aimdfm"===u&&b.crud("updateRow",{table:"pdm_aimdfm_task",data:{current_process_title:t.process_title},where:{id:t.task_id}});var j,h="ok",y=[],O=g,_={step:"orig",auto_save:"No",units:"mm"};for(j in _)O.hasOwnProperty(j)&&""!=O[j]||(O[j]=_[j]);var v=m.toLowerCase();try{if(!p.isJobExists({job:v}))throw"料号"+v+"不存在";if(p.isJobOpen({job:v})||p.openJob({job:v}),"aimdfm"==u){if(0!=p.checkInout({job:v,mode:"test"}))throw"the job check";p.checkInout({job:v,mode:"out"})}var w={name:"xiaobai"},k=function(){function t(e){r(this,t),this.name=e.name,this.age=e.age,this.data=e.data}return i(t,[{key:"say",value:function(){b.msg("my age is ".concat(this.age,", my data is ").concat(c.toString(this.data)))}}]),t}(),S=[1,2,[3,4,5]],P=new k(e(e({},w),{},{age:18,data:S}));P.say(),/yes/gi.test(O.auto_save)&&(p.checkInout({job:v,mode:"out"}),p.saveJob({job:v}),p.checkInout({job:v,mode:"in"}));var E,T="Done";"aimdfm"===u&&(b.crud("updateRow",{table:"pdm_aimdfm_task",data:{progress:100},where:{id:t.task_id}}),E={type:"info",title:"操作完成, 请注意检查!"},p.hasError()&&(E={type:h="error",title:"GEN错误!",detail:[{desc:p.STATUS.join("\n")}]}),y.push(E),T={status:status,result_data:y});return T}catch(e){0<p.STATUS.length&&b.msg(p.STATUS.join("\n")),b.msg(e),y.push({type:h="error",title:"脚本执行出错!",detail:[{desc:c.toString(e)}]});return "aimdfm"===u?{status:h,result_data:y}:"Error"}function R(){var n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},i=p.getMatrix({job:v});return Object.keys(i).reduce(function(e,t){var r,o=i[t],a=!0;for(r in n)o[r]&&(/object string|object number/gi.test({}.toString.call(n[r]))&&n[r]!=o[r]&&(a=!1),/object RegExp/gi.test({}.toString.call(n[r]))&&(new RegExp(n[r],"ig").test(o[r])||(a=!1)),/object function/gi.test({}.toString.call(n[r]))&&(n[r](o[r])||(a=!1)));return a&&e.push("info"==n.res?o:t),e},[])}
\ No newline at end of file
......@@ -2930,6 +2930,11 @@
"repeat-string": "^1.6.1"
}
},
"uglify-js": {
"version": "3.13.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz",
"integrity": "sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig=="
},
"unicode-canonical-property-names-ecmascript": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
......
......@@ -17,16 +17,13 @@
"@babel/polyfill": "^7.12.1",
"@babel/preset-env": "^7.13.12",
"babel-plugin-transform-class-properties": "^6.24.1",
"core-js": "^3.10.0"
"core-js": "^3.10.0",
"uglify-js": "^3.13.3"
},
"babel": {
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": 3
}
"@babel/preset-env"
]
],
"plugins": [
......
......@@ -40,7 +40,6 @@ PARAMETER:
<br>
</body></html>
*/
// 引入模块 包 外部参数
let $ = require('topcam.scriptfunc').argv();
let fs = require("fs");
......@@ -83,35 +82,36 @@ let job = Job.toLowerCase();
try {
// 常规验证 准备工作
if (!GEN.isJobExists({ job: job })) { throw "料号" + job + "不存在" }
if (!GEN.isJobOpen({ job: job })) { GEN.openJob({ job: job }) }
if (!GEN.isJobExists({ job })) { throw "料号" + job + "不存在" }
if (!GEN.isJobOpen({ job })) { GEN.openJob({ job }) }
if (mode == "aimdfm") {
if (GEN.checkInout({job: job,mode: "test"}) != 0) {
if (GEN.checkInout({job,mode: "test"}) != 0) {
throw "the job check"
}
GEN.checkInout({job: job,mode: "out"});
GEN.checkInout({job,mode: "out"});
}
IKM.msg(IKM.command(`function(props){
return GUI.showForm({
'title': "Add Script",
'use_core_engine': true,
'size': '400x300',
'items': {
name:"user",
type:"LineEdit",
title:"User",
property:{},
pack:{
label:"User"
let obj = { name: "xiaobai" }
class Person {
constructor(props){
this.name = props.name
this.age = props.age
this.data = props.data
}
},
'values':{
'user':'TestUserName'
},
'include_hidden_items': true,
})
}`,{}, 1).data)
say() {
IKM.msg(`my age is ${this.age}, my data is ${_.toString(this.data)}`)
}
}
let arr = [1, 2, [3, 4, 5]];
let p = new Person({...obj, age: 18, data: arr});
p.say();
arr.flat()
// 保存料号
if (/yes/ig.test(par.auto_save)) {
......@@ -134,7 +134,7 @@ try {
tmperr = { type: "error", title: "GEN错误!", detail: [{ desc: GEN.STATUS.join("\n") }] }
}
resultData.push(tmperr);
Return = { status: Status, result_data: resultData };
Return = { status, result_data: resultData };
}
_Return_Label_ = Return
} catch (e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment