Skip to content

Commit 343f563

Browse files
committed
daily-12-21-可以指定手机运行脚本待测试
1 parent dea4374 commit 343f563

File tree

7 files changed

+292
-77
lines changed

7 files changed

+292
-77
lines changed

app.js

Lines changed: 115 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,105 @@ router.get('/runIndex/:projectName', async (ctx, next) => {
217217

218218

219219

220+
})
221+
router.get('/runIndexDesignateMobile/:projectNameAndMobileInfo', async (ctx, next) => {
222+
var fs = require('fs');
223+
224+
console.log('要运行的项目名称=')
225+
var projectNameAndMobileInfo = ctx.params.projectNameAndMobileInfo;
226+
var projectName = projectNameAndMobileInfo.match(/.*?(?=)/)[0]
227+
var 手机唯一标识码=projectNameAndMobileInfo.match(/(.*)/)[1]
228+
console.log(projectName)
229+
console.log(手机唯一标识码)
230+
手机唯一标识码=手机唯一标识码.split(';')
231+
console.log(手机唯一标识码)
232+
var 手机唯一标识码json={"手机唯一标识码":手机唯一标识码}
233+
234+
235+
手机唯一标识码json=JSON.stringify(手机唯一标识码json)
236+
console.log(手机唯一标识码json)
237+
238+
239+
fs.writeFileSync('./mobileCode.json',手机唯一标识码json)
240+
241+
242+
243+
244+
245+
246+
247+
248+
249+
250+
251+
252+
253+
254+
ctx.response.body = `后端收到runIndexDesignateMobile命令`;
255+
256+
257+
if (指定项目中有index文件(projectName)) {
258+
if (index文件中有版本号(projectName)) {
259+
260+
} else {
261+
添加版本号(projectName)
262+
}
263+
} else {
264+
在指定项目中创建index文件(projectName)
265+
}
266+
267+
268+
269+
//将指定项目压缩
270+
var folder = './projectList/' + projectName
271+
var zipFilePath = zipFolder(folder)
272+
//告诉手机下载指定项目的压缩包
273+
var 版本号 = 1
274+
// 版本号读取所选项目的index.js文件,
275+
// 查看scriptVersionNumber字段
276+
var indexFilePath = folder + '/index.js'
277+
if (!fs.existsSync(indexFilePath)) {
278+
// Do something
279+
console.log('请在项目中建立index.js文件');
280+
console.log('文件中必须有一行内容来指定项目版本号,如下');
281+
console.log('scriptVersionNumber=1');
282+
283+
process.exit(1)
284+
}
285+
286+
287+
288+
console.log('--------读取index.js文件开始--------');
289+
290+
var fileContent = fs.readFileSync(indexFilePath, 'utf-8');
291+
292+
console.log('--------读取index.js文件结束--------');
293+
294+
//检查版本号
295+
var reg = /scriptVersionNumber=(\d+)/
296+
var 版本号 = fileContent.match(reg)[1]
297+
298+
299+
300+
301+
302+
303+
304+
305+
306+
var 服务器下载端口 = port.httpPort
307+
project = {
308+
"projectName": projectName,
309+
"scriptVersionNumber": 版本号,
310+
'port': 服务器下载端口
311+
}
312+
tellDesignateMobileDownloadProjectZipFile(project)
313+
//下载完毕手机自动运行该项目中的index.js
314+
//默认版本号为1 如果在index中发现版本号,以index中的版本号为准
315+
//如果手机上的版本号小于当前版本号,那么就更新脚本.
316+
317+
318+
220319
})
221320

222321
function zipFolder(folder) {
@@ -237,6 +336,18 @@ function tellMobileDownloadProjectZipFile(projectName) {
237336
childSendMsg(projectName)
238337

239338

339+
}
340+
function tellDesignateMobileDownloadProjectZipFile(projectName) {
341+
var t = config.getTime()
342+
console.log(t)
343+
// console.log('6秒后通知手机更新脚本');
344+
var fs = require('fs'); // 引入fs模块
345+
// setTimeout(childSendMsg,6000)
346+
var 手机唯一标识码=fs.readFileSync('./mobileCode.json')
347+
手机唯一标识码=JSON.parse(手机唯一标识码)
348+
childSendMsg(projectName,手机唯一标识码.手机唯一标识码)
349+
350+
240351
}
241352

242353

@@ -305,17 +416,17 @@ child.on('message', (msg) => {
305416
console.log('大头儿子说->' + msg)
306417
});
307418

308-
function childSendMsg(projectName) {
419+
function childSendMsg(projectName,手机唯一标识码) {
309420
console.log('启动childSendMsg函数');
310421
console.log('现在通知手机更新脚本')
311422
child.send('小头爸爸说->大头儿子,让他们更新脚本吧');
312423

313424
// setTimeout(发送项目更新信息,6000)
314425

315-
发送项目更新信息(projectName)
426+
发送项目更新信息(projectName,手机唯一标识码)
316427
}
317428

318-
function 发送项目更新信息(project) {
429+
function 发送项目更新信息(project,手机唯一标识码) {
319430
console.log("发送项目更新信息");
320431

321432
// var projectName=project.projectName
@@ -325,7 +436,7 @@ function 发送项目更新信息(project) {
325436
// "scriptVersionNumber":scriptVersionNumber
326437
// }
327438
项目更新信息 = JSON.stringify(project)
328-
child.send('项目更新信息' + 项目更新信息)
439+
child.send('项目更新信息' + 项目更新信息,手机唯一标识码)
329440
}
330441

331442

git常用命令.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,27 @@ git status -s
1010
git branch
1111

1212
创建分支
13-
git checkout master -b daily-12-21-看了一遍设计模式
13+
git checkout master -b daily-12-21-可以指定手机运行脚本待测试
1414

1515
提交到暂存区
1616
git add .
1717

1818
提交评论
19-
git commit -m 'daily-12-21-看了一遍设计模式'
19+
git commit -m 'daily-12-21-可以指定手机运行脚本待测试'
2020

2121

2222
推送到分支
23-
git push origin daily-12-21-看了一遍设计模式
23+
git push origin daily-12-21-可以指定手机运行脚本待测试
2424

2525

2626
切换主干||分支
2727
git checkout master || git checkout daily-10-1
2828

2929
本地合并分支到主干
30-
git merge daily-12-21-看了一遍设计模式
30+
git merge daily-12-21-可以指定手机运行脚本待测试
3131

3232
远端合并分支到主干
33-
git merge origin/daily-12-21-看了一遍设计模式
33+
git merge origin/daily-12-21-可以指定手机运行脚本待测试
3434

3535
推送主干
3636
git push origin master

nodejsTest/mobileCode.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"手机唯一标识码":["aaaaaaaaaa","aabbbbbbbc","ccccccccc","aaaddccccccc"]}

nodejsTest/test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
var fs = require('fs'); // 引入fs模块
2+
3+
var 手机唯一标识码='aaaaaaaaaa;aabbbbbbbc;ccccccccc;aaaddccccccc'
4+
手机唯一标识码=手机唯一标识码.split(';')
5+
6+
var 手机唯一标识码json={
7+
"手机唯一标识码":手机唯一标识码
8+
}
9+
手机唯一标识码json=JSON.stringify(手机唯一标识码json)
10+
console.log(手机唯一标识码json)
11+
12+
var filename='./mobileCode.json'
13+
var data=手机唯一标识码json
14+
fs.writeFileSync(filename,data)

0 commit comments

Comments
 (0)