tmui-cli 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cmdTool.js +26 -20
- package/bin/createTmui.js +24 -16
- package/bin/dirTool.js +12 -12
- package/bin/hooks.js +26 -23
- package/bin/net.js +22 -14
- package/bin/selectedDir.js +8 -8
- package/bin/tmui.js +7 -6
- package/dist/tmui.js +1 -1
- package/package.json +2 -2
package/bin/cmdTool.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import iconv from "iconv-lite"
|
|
1
|
+
|
|
2
|
+
const path = require("path")
|
|
3
|
+
const fs = require("fs")
|
|
4
|
+
const {spawn,exec} = require("child_process")
|
|
5
|
+
const process = require("process")
|
|
6
|
+
const codecs = require("codecs")
|
|
7
|
+
const psTree = require("ps-tree")
|
|
8
|
+
|
|
9
|
+
|
|
11
10
|
|
|
12
11
|
|
|
13
12
|
function detectEncoding(str) {
|
|
@@ -25,12 +24,12 @@ function detectEncoding(str) {
|
|
|
25
24
|
|
|
26
25
|
|
|
27
26
|
function send(ws, arg) {
|
|
28
|
-
ws.forEach(el
|
|
27
|
+
ws.forEach(function(el){
|
|
29
28
|
el.send(arg)
|
|
30
29
|
})
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
function execCmd(cb, end, command) {
|
|
34
33
|
try {
|
|
35
34
|
// const npmPath = path.join(process.env.APPDATA, 'npm', 'npm.cmd');
|
|
36
35
|
const spawnObj = exec(command, {
|
|
@@ -52,7 +51,7 @@ export function execCmd(cb, end, command) {
|
|
|
52
51
|
cb(cleanStr, spawnObj.pid || 0)
|
|
53
52
|
}
|
|
54
53
|
});
|
|
55
|
-
spawnObj.addListener('error', (err)
|
|
54
|
+
spawnObj.addListener('error', function(err) {
|
|
56
55
|
if (end) {
|
|
57
56
|
cb(err)
|
|
58
57
|
end('error')
|
|
@@ -64,7 +63,7 @@ export function execCmd(cb, end, command) {
|
|
|
64
63
|
end('end')
|
|
65
64
|
}
|
|
66
65
|
})
|
|
67
|
-
spawnObj.on('exit', (code)
|
|
66
|
+
spawnObj.on('exit', function(code){
|
|
68
67
|
// console.log('exit code : ' + code);
|
|
69
68
|
if (end) {
|
|
70
69
|
end('end')
|
|
@@ -81,12 +80,12 @@ export function execCmd(cb, end, command) {
|
|
|
81
80
|
}
|
|
82
81
|
}
|
|
83
82
|
// 杀死子进程及其所有子孙进程
|
|
84
|
-
|
|
83
|
+
function killChildAndGrandChildren(pid) {
|
|
85
84
|
|
|
86
85
|
if (process.platform === 'win32') {
|
|
87
86
|
// 在 Windows 系统上执行的代码
|
|
88
87
|
const command = `taskkill /T /F /PID ${pid}`;
|
|
89
|
-
exec(command, (err, stdout, stderr)
|
|
88
|
+
exec(command, function(err, stdout, stderr){
|
|
90
89
|
if (err) {
|
|
91
90
|
console.error(`服务进程退出失败!不要担心,当你关闭主进程时,未退出的子进程会一并关闭哦`);
|
|
92
91
|
}
|
|
@@ -95,16 +94,16 @@ export function killChildAndGrandChildren(pid) {
|
|
|
95
94
|
});
|
|
96
95
|
} else {
|
|
97
96
|
// 在 Linux/Unix/Mac 系统上执行的代码
|
|
98
|
-
psTree(pid, (err, children)
|
|
97
|
+
psTree(pid, function(err, children){
|
|
99
98
|
// 使用 kill 命令杀死所有子孙进程
|
|
100
99
|
console.log(5555)
|
|
101
|
-
exec(`kill -TERM ${pid} ${children.map(c
|
|
100
|
+
exec(`kill -TERM ${pid} ${children.map(function(c) {return c.PID}).join(' ')}`);
|
|
102
101
|
});
|
|
103
102
|
}
|
|
104
103
|
|
|
105
104
|
}
|
|
106
105
|
|
|
107
|
-
|
|
106
|
+
function devRunApp(ws, obj) {
|
|
108
107
|
|
|
109
108
|
const nowcd = process.cwd();
|
|
110
109
|
process.chdir(path.normalize(obj.data.path));
|
|
@@ -172,7 +171,7 @@ export function devRunApp(ws, obj) {
|
|
|
172
171
|
return childreProcess;
|
|
173
172
|
}
|
|
174
173
|
|
|
175
|
-
|
|
174
|
+
function buildApp(ws, obj, end) {
|
|
176
175
|
|
|
177
176
|
const nowcd = process.cwd();
|
|
178
177
|
process.chdir(path.normalize(obj.data.path));
|
|
@@ -220,4 +219,11 @@ export function buildApp(ws, obj, end) {
|
|
|
220
219
|
return childreProcess;
|
|
221
220
|
}
|
|
222
221
|
|
|
222
|
+
module.exports = {
|
|
223
|
+
execCmd,
|
|
224
|
+
killChildAndGrandChildren,
|
|
225
|
+
devRunApp,
|
|
226
|
+
buildApp
|
|
227
|
+
}
|
|
228
|
+
|
|
223
229
|
|
package/bin/createTmui.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
|
|
2
|
+
const path = require("path")
|
|
3
|
+
const {execCmd} = require("./cmdTool.js")
|
|
4
|
+
const fs = require("fs")
|
|
5
|
+
const compressing = require("compressing")
|
|
6
|
+
const Fetch = import("node-fetch")
|
|
5
7
|
|
|
6
8
|
|
|
7
9
|
const uniappDevListVer = [
|
|
@@ -74,10 +76,10 @@ function writePackageJson(filepath, str) {
|
|
|
74
76
|
/**
|
|
75
77
|
* 更新项目.
|
|
76
78
|
* @param {{path,type,uvue,tmui,uniappver}} arg
|
|
77
|
-
* @param {(str)=>{}} call
|
|
78
|
-
* @param {()=>{}} end
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
async function UpdateTmui(arg, call, end) {
|
|
81
|
+
const fetch = (await Fetch).default;
|
|
82
|
+
|
|
81
83
|
let rootdir = path.normalize(arg.path)
|
|
82
84
|
call('检测目录...')
|
|
83
85
|
if (!fs.existsSync(rootdir)) {
|
|
@@ -169,7 +171,7 @@ export async function UpdateTmui(arg, call, end) {
|
|
|
169
171
|
let initjson = readPackageJson(packjsonDir)
|
|
170
172
|
if (initjson['dependencies']['@dcloudio/uni-app'] != arg.uniappver) {
|
|
171
173
|
call(`检测到cli版本与你选中的不一样,正在设置你选中的版本号`)
|
|
172
|
-
uniappDevListVer.forEach(el
|
|
174
|
+
uniappDevListVer.forEach( function(el) {
|
|
173
175
|
if (initjson['dependencies'][el]) {
|
|
174
176
|
initjson['dependencies'][el] = arg.uniappver
|
|
175
177
|
}
|
|
@@ -181,9 +183,9 @@ export async function UpdateTmui(arg, call, end) {
|
|
|
181
183
|
|
|
182
184
|
writePackageJson(packjsonDir, JSON.stringify(initjson, null, 4))
|
|
183
185
|
|
|
184
|
-
execCmd((datastr)
|
|
186
|
+
execCmd(function (datastr){
|
|
185
187
|
call(datastr)
|
|
186
|
-
}, ()
|
|
188
|
+
}, function () {
|
|
187
189
|
end()
|
|
188
190
|
}, 'npm install --save --registry=https://registry.npmmirror.com/')
|
|
189
191
|
|
|
@@ -201,10 +203,10 @@ export async function UpdateTmui(arg, call, end) {
|
|
|
201
203
|
/**
|
|
202
204
|
*
|
|
203
205
|
* @param {{name,rootDir,type,ver,uniappver,uniappBuildType,machine}} arg
|
|
204
|
-
* @param {(str)=>{}} call
|
|
205
|
-
* @param {(str?:string)=>{}} end
|
|
206
206
|
*/
|
|
207
|
-
|
|
207
|
+
async function createTmui(arg, call, end) {
|
|
208
|
+
const fetch = (await Fetch).default;
|
|
209
|
+
|
|
208
210
|
let rootdir = path.normalize(arg.rootDir)
|
|
209
211
|
call('检测目录...')
|
|
210
212
|
if (!fs.existsSync(rootdir)) {
|
|
@@ -341,7 +343,7 @@ export async function createTmui(arg, call, end) {
|
|
|
341
343
|
let initjson = readPackageJson(packjsonDir)
|
|
342
344
|
|
|
343
345
|
|
|
344
|
-
uniappDevListVer.forEach(el
|
|
346
|
+
uniappDevListVer.forEach(function (el) {
|
|
345
347
|
if (initjson['dependencies'][el]) {
|
|
346
348
|
initjson['dependencies'][el] = arg.uniappver
|
|
347
349
|
}
|
|
@@ -359,9 +361,9 @@ export async function createTmui(arg, call, end) {
|
|
|
359
361
|
|
|
360
362
|
writePackageJson(packjsonDir, JSON.stringify(initjson, null, 4))
|
|
361
363
|
|
|
362
|
-
execCmd((datastr)
|
|
364
|
+
execCmd(function (datastr) {
|
|
363
365
|
call(datastr)
|
|
364
|
-
}, ()
|
|
366
|
+
}, function () {
|
|
365
367
|
end(rootdir)
|
|
366
368
|
}, 'npm install --save --registry=https://registry.npmmirror.com/')
|
|
367
369
|
|
|
@@ -372,4 +374,10 @@ export async function createTmui(arg, call, end) {
|
|
|
372
374
|
|
|
373
375
|
end(rootdir)
|
|
374
376
|
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
module.exports = {
|
|
380
|
+
createTmui,
|
|
381
|
+
UpdateTmui,
|
|
382
|
+
delFile
|
|
375
383
|
}
|
package/bin/dirTool.js
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
spawn,
|
|
5
|
-
exec
|
|
6
|
-
} from "child_process"
|
|
7
|
-
import process from "process"
|
|
8
|
-
import os from "os"
|
|
1
|
+
const path = require("path")
|
|
2
|
+
const fs = require("fs")
|
|
9
3
|
|
|
10
|
-
|
|
11
|
-
export function getJsonFiles(jsonPath) {
|
|
4
|
+
function getJsonFiles(jsonPath) {
|
|
12
5
|
let jsonFiles = [];
|
|
13
6
|
|
|
14
7
|
function findJsonFile(www) {
|
|
@@ -28,7 +21,7 @@ export function getJsonFiles(jsonPath) {
|
|
|
28
21
|
return jsonFiles;
|
|
29
22
|
}
|
|
30
23
|
|
|
31
|
-
|
|
24
|
+
function getJsonDir(basePath = './') {
|
|
32
25
|
const dirPath = basePath;
|
|
33
26
|
const root = {
|
|
34
27
|
name: '',
|
|
@@ -71,6 +64,7 @@ export function getJsonDir(basePath = './') {
|
|
|
71
64
|
}
|
|
72
65
|
|
|
73
66
|
}
|
|
67
|
+
// @ts-ignore
|
|
74
68
|
root.children = tree;
|
|
75
69
|
|
|
76
70
|
|
|
@@ -78,7 +72,7 @@ export function getJsonDir(basePath = './') {
|
|
|
78
72
|
}
|
|
79
73
|
|
|
80
74
|
/**读取项目信息根据提供的路径。 */
|
|
81
|
-
|
|
75
|
+
function checkProject(obj) {
|
|
82
76
|
|
|
83
77
|
// const {id,path,type} = obj;
|
|
84
78
|
let mainsetStrPath = "";
|
|
@@ -150,3 +144,9 @@ export function checkProject(obj) {
|
|
|
150
144
|
}
|
|
151
145
|
}
|
|
152
146
|
|
|
147
|
+
|
|
148
|
+
module.exports = {
|
|
149
|
+
getJsonFiles,
|
|
150
|
+
getJsonDir,
|
|
151
|
+
checkProject
|
|
152
|
+
}
|
package/bin/hooks.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
const figlet = require("figlet")
|
|
2
|
+
const chalks = import("chalk")
|
|
3
|
+
|
|
4
|
+
const {createTmui,UpdateTmui} = require("./createTmui.js")
|
|
5
|
+
const {checkProject} = require("./dirTool.js")
|
|
6
|
+
const {selectedDir} = require("./selectedDir.js")
|
|
7
|
+
const osUtils = require("node-os-utils")
|
|
8
|
+
const {WebSocketServer} = require("ws")
|
|
9
|
+
const {execCmd, devRunApp, killChildAndGrandChildren, buildApp} = require("./cmdTool.js")
|
|
10
|
+
|
|
1
11
|
|
|
2
|
-
import {WebSocketServer} from 'ws'
|
|
3
|
-
import osUtils from 'node-os-utils'
|
|
4
|
-
import { execCmd, devRunApp, killChildAndGrandChildren, buildApp } from './cmdTool.js'
|
|
5
|
-
import { selectedDir } from './selectedDir.js'
|
|
6
|
-
import { checkProject} from './dirTool.js'
|
|
7
|
-
import { Chalk } from "chalk";
|
|
8
|
-
import { createTmui,UpdateTmui } from './createTmui.js'
|
|
9
12
|
|
|
10
|
-
let chalk = new Chalk()
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
|
|
@@ -44,17 +46,18 @@ function uuid(len = 24, radix) {
|
|
|
44
46
|
return uuid.join('');
|
|
45
47
|
}
|
|
46
48
|
function removeWs(id) {
|
|
47
|
-
const index = wslist.findIndex(el
|
|
49
|
+
const index = wslist.findIndex(function(el) {return el.uuid == id})
|
|
48
50
|
if (index > -1) {
|
|
49
51
|
wslist.splice(index, 1)
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
function send(arg) {
|
|
53
|
-
wslist.forEach(el
|
|
55
|
+
wslist.forEach(function(el) {
|
|
54
56
|
el.send(arg)
|
|
55
57
|
})
|
|
56
58
|
}
|
|
57
|
-
wss.on('connection', function connection(ws) {
|
|
59
|
+
wss.on('connection', async function connection(ws) {
|
|
60
|
+
const chalk = (await chalks).default;
|
|
58
61
|
|
|
59
62
|
ws.uuid = uuid();
|
|
60
63
|
wslist.push(ws)
|
|
@@ -98,7 +101,7 @@ wss.on('connection', function connection(ws) {
|
|
|
98
101
|
// 查询目录项目的信息
|
|
99
102
|
} else if (obj.event == '17') {
|
|
100
103
|
let result = checkProject(obj.command)
|
|
101
|
-
let runfl = runAppInfoList.filter(el
|
|
104
|
+
let runfl = runAppInfoList.filter(function(el){ return el.id == result.id})
|
|
102
105
|
send(JSON.stringify({
|
|
103
106
|
event: '17',
|
|
104
107
|
data: result,
|
|
@@ -124,12 +127,12 @@ wss.on('connection', function connection(ws) {
|
|
|
124
127
|
if (!obj.command) return;
|
|
125
128
|
// process.kill(Number(obj.command||0))
|
|
126
129
|
const pid = Number(obj.command || 0);
|
|
127
|
-
const index = processList.findIndex(el
|
|
130
|
+
const index = processList.findIndex(function(el){ return el.pid == pid})
|
|
128
131
|
if (index > -1) {
|
|
129
132
|
// process.kill(sflit[0].pid)
|
|
130
133
|
killChildAndGrandChildren(processList[index].pid)
|
|
131
134
|
processList.splice(index, 1)
|
|
132
|
-
const index2 = runAppInfoList.findIndex(el
|
|
135
|
+
const index2 = runAppInfoList.findIndex(function(el){ return el.pid == pid})
|
|
133
136
|
runAppInfoList.splice(index2, 1)
|
|
134
137
|
}
|
|
135
138
|
} catch (error) {
|
|
@@ -138,8 +141,8 @@ wss.on('connection', function connection(ws) {
|
|
|
138
141
|
/**编译应用build:xx */
|
|
139
142
|
} else if (obj.event == '3') {
|
|
140
143
|
const id = obj.command.data.id;
|
|
141
|
-
const childrenProcess = buildApp(wslist, obj.command, ()
|
|
142
|
-
const index2 = runAppInfoList.findIndex(el
|
|
144
|
+
const childrenProcess = buildApp(wslist, obj.command, function() {
|
|
145
|
+
const index2 = runAppInfoList.findIndex(function(el){ return el.id == id})
|
|
143
146
|
console.log("编译结束")
|
|
144
147
|
if (index2 > -1) {
|
|
145
148
|
runAppInfoList.splice(index2, 1)
|
|
@@ -147,7 +150,7 @@ wss.on('connection', function connection(ws) {
|
|
|
147
150
|
})
|
|
148
151
|
/**保存当前运行的用户信息。 */
|
|
149
152
|
} else if (obj.event == 'saveRunInfo') {
|
|
150
|
-
const index2 = runAppInfoList.findIndex(el
|
|
153
|
+
const index2 = runAppInfoList.findIndex(function(el){return el.id == obj.command.id})
|
|
151
154
|
if (index2 > -1) {
|
|
152
155
|
runAppInfoList.splice(index2, 1, obj.command)
|
|
153
156
|
} else {
|
|
@@ -157,7 +160,7 @@ wss.on('connection', function connection(ws) {
|
|
|
157
160
|
} else if (obj.event == 'getCpu') {
|
|
158
161
|
|
|
159
162
|
Promise.all([osUtils.mem.info(),osUtils.cpu.usage()])
|
|
160
|
-
.then(arg
|
|
163
|
+
.then(function(arg){
|
|
161
164
|
send(JSON.stringify({
|
|
162
165
|
event: 'getCpu',
|
|
163
166
|
data: {
|
|
@@ -168,13 +171,13 @@ wss.on('connection', function connection(ws) {
|
|
|
168
171
|
})
|
|
169
172
|
}else if(obj.event=='21'){
|
|
170
173
|
// npm view @dcloudio/uni-app versions --json
|
|
171
|
-
UpdateTmui(obj.command,(str)
|
|
174
|
+
UpdateTmui(obj.command,function(str){
|
|
172
175
|
send(JSON.stringify({
|
|
173
176
|
event: 'info',
|
|
174
177
|
flag:'',
|
|
175
178
|
data: str
|
|
176
179
|
}))
|
|
177
|
-
},()
|
|
180
|
+
},function(){
|
|
178
181
|
send(JSON.stringify({
|
|
179
182
|
event: '21',
|
|
180
183
|
flag:'end',
|
|
@@ -184,13 +187,13 @@ wss.on('connection', function connection(ws) {
|
|
|
184
187
|
// 创建项目.
|
|
185
188
|
}else if(obj.event=='22'){
|
|
186
189
|
// npm view @dcloudio/uni-app versions --json
|
|
187
|
-
createTmui(obj.command,(str)
|
|
190
|
+
createTmui(obj.command,function(str){
|
|
188
191
|
send(JSON.stringify({
|
|
189
192
|
event: 'info',
|
|
190
193
|
flag:'',
|
|
191
194
|
data: str
|
|
192
195
|
}))
|
|
193
|
-
},(prejectdir)
|
|
196
|
+
},function(prejectdir){
|
|
194
197
|
send(JSON.stringify({
|
|
195
198
|
event: '22',
|
|
196
199
|
flag:'end',
|
|
@@ -205,7 +208,7 @@ wss.on('connection', function connection(ws) {
|
|
|
205
208
|
console.log(chalk.red(error))
|
|
206
209
|
}
|
|
207
210
|
});
|
|
208
|
-
ws.on('close', ()
|
|
211
|
+
ws.on('close', function() {
|
|
209
212
|
removeWs(ws.uuid)
|
|
210
213
|
})
|
|
211
214
|
send('something');
|
package/bin/net.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import open from "open"
|
|
7
|
-
import bodyParser from "body-parser"
|
|
8
|
-
import fetch from "node-fetch"
|
|
1
|
+
const Open = import("open")
|
|
2
|
+
const bodyParser = require("body-parser")
|
|
3
|
+
const Fetch = import("node-fetch")
|
|
4
|
+
const express = require("express")
|
|
5
|
+
|
|
9
6
|
const app = express();
|
|
10
7
|
|
|
11
8
|
var jsonParser = bodyParser.json()
|
|
@@ -22,7 +19,7 @@ function setResHeader(res){
|
|
|
22
19
|
app.use(express.static('website'))
|
|
23
20
|
app.use('/store', express.static('websitemod'))
|
|
24
21
|
|
|
25
|
-
app.all("/api/dirlist",(req,res)
|
|
22
|
+
app.all("/api/dirlist",function (req,res){
|
|
26
23
|
setResHeader(res)
|
|
27
24
|
// const ls = getJsonFiles( __dirname )
|
|
28
25
|
// res.json(ls)
|
|
@@ -30,7 +27,9 @@ app.all("/api/dirlist",(req,res)=>{
|
|
|
30
27
|
res.json({'code':0})
|
|
31
28
|
})
|
|
32
29
|
//获取tmui版本
|
|
33
|
-
app.post("/api/cehckTmuiVer",async (req,res)
|
|
30
|
+
app.post("/api/cehckTmuiVer",async function (req,res){
|
|
31
|
+
const fetch = (await Fetch).default;
|
|
32
|
+
|
|
34
33
|
setResHeader(res)
|
|
35
34
|
let type = req.body?.type??'uniapp'
|
|
36
35
|
|
|
@@ -41,7 +40,9 @@ app.post("/api/cehckTmuiVer",async (req,res)=>{
|
|
|
41
40
|
|
|
42
41
|
})
|
|
43
42
|
|
|
44
|
-
app.post("/api/checkUniappVer",async (req,res)
|
|
43
|
+
app.post("/api/checkUniappVer",async function (req,res){
|
|
44
|
+
const fetch = (await Fetch).default;
|
|
45
|
+
|
|
45
46
|
setResHeader(res)
|
|
46
47
|
// https://registry.npmjs.org/@dcloudio/uni-app
|
|
47
48
|
let resdata = await fetch(`https://mirrors.huaweicloud.com/repository/npm/@dcloudio/uni-app`,{method:'GET',headers:{'Content-Type':'text/plan'}})
|
|
@@ -64,7 +65,7 @@ app.post("/api/checkUniappVer",async (req,res)=>{
|
|
|
64
65
|
|
|
65
66
|
|
|
66
67
|
lis = lis.slice(0,40)
|
|
67
|
-
lis = lis.filter(el
|
|
68
|
+
lis = lis.filter(function(el){ return el[0]!='2'})
|
|
68
69
|
obj.versions = lis
|
|
69
70
|
res.json({'code':0,'data':obj})
|
|
70
71
|
|
|
@@ -74,12 +75,19 @@ app.post("/api/checkUniappVer",async (req,res)=>{
|
|
|
74
75
|
|
|
75
76
|
|
|
76
77
|
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
function createNet (){
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
app.listen(6170,async function (){
|
|
82
|
+
const open = (await Open).default;
|
|
79
83
|
open('http://localhost:6170')
|
|
84
|
+
|
|
80
85
|
})
|
|
81
86
|
}
|
|
82
87
|
|
|
88
|
+
module.exports = {
|
|
89
|
+
createNet
|
|
90
|
+
}
|
|
83
91
|
|
|
84
92
|
|
|
85
93
|
// open('http://localhost:6170')
|
package/bin/selectedDir.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import globalDirectories from "global-dirs"
|
|
5
|
-
import {
|
|
6
|
-
getJsonDir
|
|
7
|
-
} from "./dirTool.js"
|
|
1
|
+
const path = require("path")
|
|
2
|
+
const globalDirectories = require("global-dirs")
|
|
3
|
+
const { getJsonDir } = require("./dirTool.js")
|
|
8
4
|
|
|
9
5
|
/**读取项目目录 */
|
|
10
|
-
|
|
6
|
+
function selectedDir(cb, end, pathStr) {
|
|
11
7
|
try {
|
|
12
8
|
let dirpath = globalDirectories.npm.prefix
|
|
13
9
|
if (pathStr) {
|
|
@@ -26,3 +22,7 @@ export async function selectedDir(cb, end, pathStr) {
|
|
|
26
22
|
}
|
|
27
23
|
|
|
28
24
|
|
|
25
|
+
module.exports = {
|
|
26
|
+
selectedDir
|
|
27
|
+
}
|
|
28
|
+
|
package/bin/tmui.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
const figlet = require("figlet")
|
|
2
|
+
const chalks = import("chalk")
|
|
3
|
+
const {createNet} = require("./net.js")
|
|
4
|
+
require("./hooks.js")
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
const
|
|
6
|
+
const main = async ()=>{
|
|
7
|
+
const chalk = (await chalks).default;
|
|
8
|
+
|
|
8
9
|
figlet('TMUI for UniApp',function(err,d){
|
|
9
10
|
if(err){
|
|
10
11
|
console.log(chalk.red(err))
|
package/dist/tmui.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e,t,o={895:e=>{"use strict";e.exports=require("chalk")},679:e=>{"use strict";e.exports=require("figlet")}},r={};function n(e){var t=r[e];if(void 0!==t)return t.exports;var l=r[e]={exports:{}};return o[e](l,l.exports,n),l.exports}t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(o,r){if(1&r&&(o=this(o)),8&r)return o;if("object"==typeof o&&o){if(4&r&&o.__esModule)return o;if(16&r&&"function"==typeof o.then)return o}var l=Object.create(null);n.r(l);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&r&&o;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>o[e]));return i.default=()=>o,n.d(l,i),l},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};const l=n(679);Promise.resolve().then(n.t.bind(n,895,23)).then((e=>{const t=new e.Chalk;l("TMUI for UniApp",(function(e,o){if(e)return console.log(t.red(e)),void console.dir(e);console.log(t.green(o)),console.log(t.yellow("请注意浏览器打开状态,如果打开失败")),console.log(t.yellow("请访问:http://localhost:6170"))}))}))})();
|
|
1
|
+
(()=>{var e,t,i={268:e=>{"use strict";e.exports=require("body-parser")},895:e=>{"use strict";e.exports=require("chalk")},199:e=>{"use strict";e.exports=require("codecs")},988:e=>{"use strict";e.exports=require("compressing")},252:e=>{"use strict";e.exports=require("express")},679:e=>{"use strict";e.exports=require("figlet")},270:e=>{"use strict";e.exports=require("global-dirs")},229:e=>{"use strict";e.exports=require("node-fetch")},845:e=>{"use strict";e.exports=require("node-os-utils")},80:e=>{"use strict";e.exports=require("open")},344:e=>{"use strict";e.exports=require("ps-tree")},86:e=>{"use strict";e.exports=require("ws")},317:e=>{"use strict";e.exports=require("child_process")},896:e=>{"use strict";e.exports=require("fs")},928:e=>{"use strict";e.exports=require("path")},932:e=>{"use strict";e.exports=require("process")},590:(e,t,i)=>{const n=i(928),{spawn:r,exec:o}=(i(896),i(317)),s=i(932),c=i(199),a=i(344);function u(e,t){e.forEach((function(e){e.send(t)}))}function d(e,t,i){try{const n=o(i,{encoding:"binary"});return n.stdout?.on("data",(function(t){if(e){Buffer.from(t,"binary").toString("utf8");const i=c(function(e){const t=Buffer.from(e);return t[0]<128?"ascii":t[0]<224?"utf8":t[0]<240?"utf16le":"utf32le"}(t)).decode(Buffer.from(t,"binary")).toString("utf-8").replace(/[\u001B\u009B][[\]()#;?]*(?:(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[A-PR-Za-z~])/g,"");e(i,n.pid||0)}})),n.addListener("error",(function(i){t&&(e(i),t("error"))})),n.on("close",(function(e){t&&t("end")})),n.on("exit",(function(e){t&&t("end")})),n}catch(i){return t&&(e(i),t("end")),null}}e.exports={execCmd:d,killChildAndGrandChildren:function(e){"win32"===s.platform?o(`taskkill /T /F /PID ${e}`,(function(e,t,i){e&&console.error("服务进程退出失败!不要担心,当你关闭主进程时,未退出的子进程会一并关闭哦")})):a(e,(function(t,i){console.log(5555),o(`kill -TERM ${e} ${i.map((function(e){return e.PID})).join(" ")}`)}))},devRunApp:function(e,t){return s.cwd(),s.chdir(n.normalize(t.data.path)),d((function(i,n){u(e,JSON.stringify({event:"info",data:i}));const r=/http:\/\/localhost(:\d+)?(\/[^\s]*)?/g,o=/http:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d+)?(\/[^\s]*)?/g;r.test(i)&&u(e,JSON.stringify({event:"1",data:{id:t.data.id,msg:i.match(r)[0],pid:n}})),o.test(i)&&u(e,JSON.stringify({event:"1",data:{id:t.data.id,msg:i.match(o)[0],pid:n}})),i.indexOf("ready")>-1&&u(e,JSON.stringify({event:"ready",data:{id:t.data.id,pid:n}}))}),(function(i){u(e,"end"==i?JSON.stringify({event:"end",data:{id:t.data.id}}):JSON.stringify({event:"error",data:{id:t.data.id}}))}),t.command)},buildApp:function(e,t,i){return s.cwd(),s.chdir(n.normalize(t.data.path)),d((function(i,n){u(e,JSON.stringify({event:"info",data:i})),i.indexOf("DONE")>-1&&u(e,JSON.stringify({event:"buildSucess",data:{id:t.data.id,pid:n}}))}),(function(n){"end"==n?(u(e,JSON.stringify({event:"end",data:{id:t.data.id}})),console.log("编译完成")):u(e,JSON.stringify({event:"error",data:{id:t.data.id}})),i&&i()}),t.command)}}},643:(e,t,i)=>{const n=i(928),{execCmd:r}=i(590),o=i(896),s=i(988),c=Promise.resolve().then(i.t.bind(i,229,23)),a=["@dcloudio/uni-app","@dcloudio/uni-app-plus","@dcloudio/uni-components","@dcloudio/uni-h5","@dcloudio/uni-mp-alipay","@dcloudio/uni-mp-baidu","@dcloudio/uni-mp-kuaishou","@dcloudio/uni-mp-lark","@dcloudio/uni-mp-qq","@dcloudio/uni-mp-toutiao","@dcloudio/uni-mp-weixin","@dcloudio/uni-quickapp-webview","@dcloudio/uni-automator","@dcloudio/uni-cli-shared","@dcloudio/vite-plugin-uni"];function u(e,t){if(o.existsSync(e))if(o.statSync(e).isDirectory()){var i=o.readdirSync(e),n=i.length,r=0;n>0?(i.forEach((function(t){r++,o.statSync(e+"/"+t);var i=e+"/"+t;o.statSync(i).isDirectory()?u(i,!0):o.unlinkSync(i)})),n==r&&t&&o.rmdirSync(e)):0==n&&t&&o.rmdirSync(e)}else o.unlinkSync(e),console.log("删除文件"+e+"成功")}function d(e){let t=o.readFileSync(e).toString("utf-8");return t=t.replace(/("([^\\\"]*(\\.)?)*")|('([^\\\']*(\\.)?)*')|(\/{2,}.*?(\r|\n|$))|(\/\*(\n|.)*?\*\/)/g,(function(e){return/^\/{2,}/.test(e)||/^\/\*/.test(e)?"":e})),JSON.parse(t)}function l(e,t){o.writeFileSync(e,t,{encoding:"utf-8"})}e.exports={createTmui:async function(e,t,i){const u=(await c).default;let p=n.normalize(e.rootDir);if(t("检测目录..."),!o.existsSync(p))return t("目录有误..."),void i();if(p=n.join(p,e.name),o.existsSync(p)||o.mkdirSync(p),"uniappx"==e.type){t("暂不支持uniappx更新sdk及下载更新tmui库,请联系作者授权,当前仅是创建一个空项目."),t("开始创建项目中...");let e="https://cdn.tmui.design/tmui4.0/tmui4.0xhbxModel.zip",r=await u(e),c=await r.arrayBuffer(),a=n.join(p,"tmui.zip");return o.existsSync(a)&&o.rmSync(a),o.writeFileSync(a,Buffer.from(c)),t("正在解压处理中..."),await s.zip.uncompress(a,p),t("创建uniAppx tmui4.0x 项目成功"),t("正在清理缓存文件..."),o.existsSync(a)&&o.rmSync(a),t("恭喜成功!!!"),void i(p)}process.chdir(p);let f=parseFloat(e.ver.replace(".",""))>=32,m=`https://cdn.tmui.design/public/static/${f?"tmuiHBX32":"tmuiHBX"}.zip`,y=`https://cdn.tmui.design/public/static/${f?"cli32":"cli"}.zip`,S="uniapp"==e.type&&"cli"==e.uniappBuildType?y:m,g=await u(S),h=await g.arrayBuffer(),x=n.join(p,"tmuimode.zip");o.existsSync(x)&&o.rmSync(x),o.writeFileSync(x,Buffer.from(h)),t("正在创建项目模板"),await s.zip.uncompress(x,p),t("tmui模板创建成功,正在下载tmuiUi库"),o.existsSync(x)&&o.rmSync(x);let v="";if("hbx"==e.uniappBuildType)if(f){let e=n.join(p,"uni_modules");o.existsSync(e)||o.mkdirSync(e),e=n.join(e,"tm-ui"),o.existsSync(e)||o.mkdirSync(e),v=e}else{let e=n.join(p,"tmui");o.existsSync(e)||o.mkdirSync(e),v=e}else if("cli"==e.uniappBuildType)if(f){let e=n.join(p,"src","uni_modules");o.existsSync(e)||o.mkdirSync(e),e=n.join(e,"tm-ui"),o.existsSync(e)||o.mkdirSync(e),v=e}else{let e=n.join(p,"src","tmui");o.existsSync(e)||o.mkdirSync(e),v=e}t("下载tmui中,版本号为:"+e.ver);let j=`https://cdn.tmui.design/public/static/tmui${e.ver}.zip`,O=await u(j),w=await O.arrayBuffer(),b=n.join(p,"tmui.zip");if(o.existsSync(b)&&o.rmSync(b),o.writeFileSync(b,Buffer.from(w)),t(`tmui${e.ver}下载完成,正在解压处理中...`),await s.zip.uncompress(b,v),t(`tmui${e.ver}安装成功`),t("正在清理缓存文件..."),o.existsSync(b)&&o.rmSync(b),t("恭喜安装tmui成功!!!"),e.uniappver&&"cli"==e.uniappBuildType){t("正在检查cli sdk 版本...");let o=n.join(p,"package.json"),s=d(o);return a.forEach((function(t){s.dependencies[t]&&(s.dependencies[t]=e.uniappver),s.devDependencies[t]&&(s.devDependencies[t]=e.uniappver)})),t("更新版本号完成,正在重新安装依赖,这个过程可能比较缓慢,如果失败,请手动在项目目录执行npm install或者重试"),"arm"==e.machine&&(s.dependencies["@esbuild/darwin-x64"]="^0.21.5",s.dependencies["@rollup/rollup-darwin-x64"]="^4.24.0"),l(o,JSON.stringify(s,null,4)),void r((function(e){t(e)}),(function(){i(p)}),"npm install --save --registry=https://registry.npmmirror.com/")}i(p)},UpdateTmui:async function(e,t,i){const p=(await c).default;let f=n.normalize(e.path);if(t("检测目录..."),!o.existsSync(f))return t("项目目录有误..."),void i();process.chdir(e.path);let m="",y=parseFloat(e.tmui.replace(".",""))>=32;if("hbx"==e.type)if(y){let e=n.join(f,"uni_modules");o.existsSync(e)||o.mkdirSync(e),e=n.join(e,"tm-ui"),o.existsSync(e)||o.mkdirSync(e),m=e}else{let e=n.join(f,"tmui");o.existsSync(e)||o.mkdirSync(e),m=e}else if("cli"==e.type)if(y){let e=n.join(f,"src","uni_modules");o.existsSync(e)||o.mkdirSync(e),e=n.join(e,"tm-ui"),o.existsSync(e)||o.mkdirSync(e),m=e}else{let e=n.join(f,"src","tmui");o.existsSync(e)||o.mkdirSync(e),m=e}if(t("已创建/检测/清除...tmui目录..."),!o.existsSync(m))return t("无法检测和创建目录,请检查权限..."),void i();u(m,!0),o.mkdirSync(m),t("下载tmui中,版本号为:"+e.tmui);let S=`https://cdn.tmui.design/public/static/tmui${e.tmui}.zip`,g=await p(S),h=await g.arrayBuffer(),x=n.join(f,"tmui.zip");if(o.existsSync(x)&&o.rmSync(x),o.writeFileSync(x,Buffer.from(h)),t(`tmui${e.tmui}下载完成,正在解压处理中...`),await s.zip.uncompress(x,m),t(`tmui${e.tmui}安装成功`),t("正在清理缓存文件..."),o.existsSync(x)&&o.rmSync(x),t("恭喜安装tmui成功!!!"),e.uniappver&&"cli"==e.type){t("正在检查cli sdk 版本...");let o=n.join(f,"package.json"),s=d(o);if(s.dependencies["@dcloudio/uni-app"]!=e.uniappver)return t("检测到cli版本与你选中的不一样,正在设置你选中的版本号"),a.forEach((function(t){s.dependencies[t]&&(s.dependencies[t]=e.uniappver),s.devDependencies[t]&&(s.devDependencies[t]=e.uniappver)})),t("更新版本号完成,正在重新安装依赖,这个过程可能比较缓慢,如果失败,请手动在项目目录执行npm install或者重试"),l(o,JSON.stringify(s,null,4)),void r((function(e){t(e)}),(function(){i()}),"npm install --save --registry=https://registry.npmmirror.com/");t("检测到cli版本与你选中的一样,跳过更新")}i()},delFile:u}},113:(e,t,i)=>{const n=i(928),r=i(896);e.exports={getJsonFiles:function(e){let t=[];return function e(i){r.readdirSync(i).forEach((function(o,s){let c=n.join(i,o),a=r.statSync(c);!0===a.isDirectory()&&e(c),!0===a.isFile()&&t.push(c)}))}(e),t},getJsonDir:function(e="./"){const t=e,i={name:"",type:"dir",parent:t,children:[]},o=r.readdirSync(t),s=[];for(let e=0;e<o.length;e++){const i=o[e],c=n.join(t,i),a=n.extname(i);try{if(-1==i.lastIndexOf(".tmp")&&-1==i.lastIndexOf(".sys")&&"."!=i[0]){const e=r.statSync(c);if(e.isFile()){const e={name:i,type:"file",parent:t,suffix:a};s.push(e)}else if(e.isDirectory()){const e={name:i,type:"dir",parent:t,suffix:"",children:[]};s.push(e)}}}catch(e){}}return i.children=s,i},checkProject:function(e){let t="",i="",o="",s="";"cli"==e.type?(t=n.join(e.path,"src","manifest.json"),i=n.join(e.path,"src","tmui","package.json"),r.existsSync(i)||(i=n.join(e.path,"src","uni_modules","tm-ui","package.json")),o=n.join(e.path,"package.json")):(t=n.join(e.path,"manifest.json"),i=n.join(e.path,"tmui","package.json"),r.existsSync(i)||(i=n.join(e.path,"uni_modules","tm-ui","package.json")),s=n.join(e.path,"uni_modules","tmx-ui","package.json"));let c=r.readFileSync(t).toString("utf-8");c=c.replace(/("([^\\\"]*(\\.)?)*")|('([^\\\']*(\\.)?)*')|(\/{2,}.*?(\r|\n|$))|(\/\*(\n|.)*?\*\/)/g,(function(e){return/^\/{2,}/.test(e)||/^\/\*/.test(e)?"":e}));const a=JSON.parse(c),u=a["uni-app-x"];let d="";if(u){if(r.existsSync(s)){let e=r.readFileSync(s).toString("utf-8");d=JSON.parse(e).version}}else if(r.existsSync(i)){let e=r.readFileSync(i).toString("utf-8");d=JSON.parse(e).version}let l="";if(r.existsSync(o)){let e=r.readFileSync(o).toString("utf-8");l=JSON.parse(e).scripts}return{name:a.name,appid:a.appid,versionName:a.versionName,tmui:d,unix:u,id:e.id,scripts:l}}}},248:(e,t,i)=>{i(679);const n=Promise.resolve().then(i.t.bind(i,895,23)),{createTmui:r,UpdateTmui:o}=i(643),{checkProject:s}=i(113),{selectedDir:c}=i(480),a=i(845),{WebSocketServer:u}=i(86),{execCmd:d,devRunApp:l,killChildAndGrandChildren:p,buildApp:f}=i(590),m=new u({port:6169});var y=[],S=[],g=[];function h(e){g.forEach((function(t){t.send(e)}))}m.on("connection",(async function(e){const t=(await n).default;e.uuid=function(e=24,t){var i,n,r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),o=[];if(t=t||r.length,e)for(i=0;i<e;i++)o[i]=r[0|Math.random()*t];else for(o[8]=o[13]=o[18]=o[23]="-",o[14]="4",i=0;i<36;i++)o[i]||(n=0|16*Math.random(),o[i]=r[19==i?3&n|8:n]);return o.join("")}(),g.push(e),e.on("error",console.error),e.on("message",(function(e){try{let i=JSON.parse(e);if("getCpu"!=i.event&&console.log(t.white(e)),"cmd"==i.event)d((function(e){h(JSON.stringify({event:"info",data:e}))}),(function(){h(JSON.stringify({event:"end",data:""}))}),i.command);else if("18"==i.event)c((function(e){h(JSON.stringify({event:"18",flag:"",data:e}))}),(function(){h(JSON.stringify({event:"18",flag:"end",data:""}))}),i.command);else if("17"==i.event){let e=s(i.command),t=S.filter((function(t){return t.id==e.id}));h(JSON.stringify({event:"17",data:e,flag:"",run:t})),h(JSON.stringify({event:"17",flag:"end",data:""}))}else if("1"==i.event){const e=l(g,i.command);e&&y.push(e)}else if("2"==i.event)try{if(!i.command)return;const e=Number(i.command||0),t=y.findIndex((function(t){return t.pid==e}));if(t>-1){p(y[t].pid),y.splice(t,1);const i=S.findIndex((function(t){return t.pid==e}));S.splice(i,1)}}catch(e){}else if("3"==i.event){const e=i.command.data.id;f(g,i.command,(function(){const t=S.findIndex((function(t){return t.id==e}));console.log("编译结束"),t>-1&&S.splice(t,1)}))}else if("saveRunInfo"==i.event){const e=S.findIndex((function(e){return e.id==i.command.id}));e>-1?S.splice(e,1,i.command):S.push(i.command)}else"getCpu"==i.event?Promise.all([a.mem.info(),a.cpu.usage()]).then((function(e){h(JSON.stringify({event:"getCpu",data:{memUsage:e[0].usedMemPercentage.toFixed(2),cpuUsage:e[1].toFixed(2)}}))})):"21"==i.event?o(i.command,(function(e){h(JSON.stringify({event:"info",flag:"",data:e}))}),(function(){h(JSON.stringify({event:"21",flag:"end",data:"完成"}))})):"22"==i.event&&r(i.command,(function(e){h(JSON.stringify({event:"info",flag:"",data:e}))}),(function(e){h(JSON.stringify({event:"22",flag:"end",data:e}))}))}catch(i){console.log(t.red(e)),console.log(t.red(i))}})),e.on("close",(function(){!function(e){const t=g.findIndex((function(t){return t.uuid==e}));t>-1&&g.splice(t,1)}(e.uuid)})),h("something")}))},879:(e,t,i)=>{const n=Promise.resolve().then(i.t.bind(i,80,23)),r=i(268),o=Promise.resolve().then(i.t.bind(i,229,23)),s=i(252),c=s();var a=r.json(),u=r.urlencoded({extended:!1});function d(e){e.setHeader("Access-Control-Allow-Headers","*"),e.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),e.setHeader("Access-Control-Allow-Headers","DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization")}c.use(u),c.use(a),c.use(s.static("website")),c.use("/store",s.static("websitemod")),c.all("/api/dirlist",(function(e,t){d(t),t.json({code:0})})),c.post("/api/cehckTmuiVer",(async function(e,t){const i=(await o).default;d(t);let n=e.body?.type??"uniapp",r=await i(`https:cdn.tmui.design/${"uniapp"==n?"tmuiVer":"tmui4x"}.txt`,{method:"GET",headers:{"Content-Type":"text/plan"}}),s=(await r.text()).split("\n");t.json({code:0,version:s,type:n})})),c.post("/api/checkUniappVer",(async function(e,t){const i=(await o).default;d(t);let n=await i("https://mirrors.huaweicloud.com/repository/npm/@dcloudio/uni-app",{method:"GET",headers:{"Content-Type":"text/plan"}}),r=await n.text(),s=JSON.parse(r),c={dist:[s["dist-tags"].alpha,s["dist-tags"].next,s["dist-tags"].vue3],versions:[]},a=[];for(let e in s.versions)a.push(e);a.reverse(),a=a.slice(0,40),a=a.filter((function(e){return"2"!=e[0]})),c.versions=a,t.json({code:0,data:c})})),e.exports={createNet:function(){c.listen(6170,(async function(){(0,(await n).default)("http://localhost:6170")}))}}},480:(e,t,i)=>{const n=i(928),r=i(270),{getJsonDir:o}=i(113);e.exports={selectedDir:function(e,t,i){try{let s=r.npm.prefix;i&&(s=n.normalize(i)),e(o(s)),t("end")}catch(i){console.log(i,"---"),t&&(e(i),t("end"))}}}}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return i[e](o,o.exports,r),o.exports}t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(i,n){if(1&n&&(i=this(i)),8&n)return i;if("object"==typeof i&&i){if(4&n&&i.__esModule)return i;if(16&n&&"function"==typeof i.then)return i}var o=Object.create(null);r.r(o);var s={};e=e||[null,t({}),t([]),t(t)];for(var c=2&n&&i;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((e=>s[e]=()=>i[e]));return s.default=()=>i,r.d(o,s),o},r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};const o=r(679),s=Promise.resolve().then(r.t.bind(r,895,23)),{createNet:c}=r(879);r(248),(async()=>{const e=(await s).default;o("TMUI for UniApp",(function(t,i){if(t)return console.log(e.red(t)),void console.dir(t);console.log(e.green(i)),console.log(e.yellow("请注意浏览器打开状态,如果打开失败")),console.log(e.yellow("请访问:http://localhost:6170")),c()}))})()})();
|