Skip to content

Commit 13f6508

Browse files
committed
🚀 发布 v1.1.7
- 优化 Mac 构建配置,支持 arm64/x64 双架构独立打包 - 添加平台特定构建脚本(build:mac-x64, build:mac-arm64 等) - 重构服务层命名:Service → AppService,更符合应用服务层规范 - 添加 Mac 代码签名 entitlements 配置
1 parent d455941 commit 13f6508

8 files changed

Lines changed: 71 additions & 16 deletions

File tree

build/entitlements.mac.plist

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>com.apple.security.cs.allow-jit</key>
6+
<true/>
7+
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
8+
<true/>
9+
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
10+
<true/>
11+
<key>com.apple.security.cs.disable-library-validation</key>
12+
<true/>
13+
<key>com.apple.security.cs.disable-executable-page-protection</key>
14+
<true/>
15+
<key>com.apple.security.cs.allow-jit</key>
16+
<true/>
17+
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
18+
<true/>
19+
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
20+
<true/>
21+
<key>com.apple.security.cs.disable-library-validation</key>
22+
<true/>
23+
<key>com.apple.security.cs.disable-executable-page-protection</key>
24+
<true/>
25+
<key>com.apple.security.network.client</key>
26+
<true/>
27+
<key>com.apple.security.network.server</key>
28+
<true/>
29+
<key>com.apple.security.files.user-selected.read-write</key>
30+
<true/>
31+
<key>com.apple.security.files.downloads.read-write</key>
32+
<true/>
33+
</dict>
34+
</plist>

electron-builder.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,23 @@
99
"files": ["dist", "dist-electron"],
1010
"mac": {
1111
"icon": "build/icons/icon.icns",
12-
"target": ["dmg"],
13-
"artifactName": "${productName}-Mac-${version}-Installer.${ext}"
12+
"target": [
13+
{
14+
"target": "dmg",
15+
"arch": ["arm64"]
16+
},
17+
{
18+
"target": "dmg",
19+
"arch": ["x64"]
20+
}
21+
],
22+
"artifactName": "${productName}-Mac-${arch}-${version}-Installer.${ext}",
23+
"hardenedRuntime": true,
24+
"gatekeeperAssess": false,
25+
"entitlements": "build/entitlements.mac.plist",
26+
"entitlementsInherit": "build/entitlements.mac.plist",
27+
"type": "distribution",
28+
"minimumSystemVersion": "10.12.0"
1429
},
1530
"win": {
1631
"icon": "build/icons/icon.ico",

electron/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const __filename = fileURLToPath(import.meta.url);
88
const __dirname = path.dirname(__filename);
99

1010
// 应用版本和更新相关
11-
const CURRENT_VERSION = '1.1.6';
11+
const CURRENT_VERSION = '1.1.7';
1212
const UPDATE_CHECK_URL = 'https://api.github.com/repos/dhslegen/rest-code/releases/latest';
1313

1414
let win: BrowserWindow | null;

package.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
{
22
"name": "rest-code",
33
"private": true,
4-
"version": "1.1.6",
4+
"version": "1.1.7",
55
"author": "zhaowenhao<https://dahaoshen.com>",
66
"description": "Rest Code 是一款基于 Electron 的自动化工具,用于通过简洁的脚本快速生成 REST API 后端代码。",
77
"license": "Apache-2.0",
88
"type": "module",
99
"scripts": {
1010
"dev": "vite",
1111
"build": "vue-tsc && vite build && electron-builder",
12+
"build:mac": "vue-tsc && vite build && electron-builder --mac",
13+
"build:mac-x64": "vue-tsc && vite build && electron-builder --mac --x64 --publish=never",
14+
"build:mac-arm64": "vue-tsc && vite build && electron-builder --mac --arm64 --publish=never",
15+
"build:mac-universal": "vue-tsc && vite build && electron-builder --mac --universal --publish=never",
16+
"build:win": "vue-tsc && vite build && electron-builder --win",
17+
"build:linux": "vue-tsc && vite build && electron-builder --linux",
1218
"preview": "vite preview"
1319
},
1420
"dependencies": {

src/App.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,8 +260,8 @@
260260
<div class="card-content">
261261
<label>当前版本</label>
262262
<a href="javascript:void(0)"
263-
@click="openLink('https://github.com/dhslegen/rest-code/releases/tag/v1.1.6')" class="link-btn">
264-
v1.1.6
263+
@click="openLink('https://github.com/dhslegen/rest-code/releases/tag/v1.1.7')" class="link-btn">
264+
v1.1.7
265265
</a>
266266
</div>
267267
</div>

src/code-generator.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2441,11 +2441,11 @@ function ensureDirectoryExistence(filePath: string) {
24412441
}
24422442

24432443
async function generateService(domain: Domain, apiMethods: ApiMethod[], config: Config, preview: boolean, generatedFiles: GeneratedFile[]) {
2444-
const interfaceName = `${domain.name}Service`;
2444+
const interfaceName = `${domain.name}AppService`;
24452445
const packageName = `${config.basePackage}.service`;
24462446
const interfaceFilePath = window.api.join(config.outputPath, ...packageName.split('.'), `${interfaceName}.java`);
24472447

2448-
const implName = `${domain.name}ServiceImpl`;
2448+
const implName = `${domain.name}AppServiceImpl`;
24492449
const implPackageName = `${config.basePackage}.service.impl`;
24502450
const implFilePath = window.api.join(config.outputPath, ...implPackageName.split('.'), `${implName}.java`);
24512451

@@ -2550,7 +2550,7 @@ async function generateServiceImpl(domain: Domain, apiMethods: ApiMethod[], conf
25502550
// 解析新的 imports
25512551
const newImports = new Set<string>(apiMethods.flatMap((method) => Array.from(method.importsServiceImpl)));
25522552
// 添加接口的 import
2553-
newImports.add(`${config.basePackage}.service.${domain.name}Service`);
2553+
newImports.add(`${config.basePackage}.service.${domain.name}AppService`);
25542554
const newImportsMap = parseImports(newImports);
25552555

25562556
// 合并 imports

src/script-parser.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,12 +323,12 @@ function parseParameterContract(config: Config, method: ApiMethod) {
323323
}
324324
}
325325
// 设置方法体
326-
method.methodBody = `return Result.ok(${domainNameLower}Service.${method.operationName}(${method.parameterNames.join(', ')}));`
326+
method.methodBody = `return Result.ok(${domainNameLower}AppService.${method.operationName}(${method.parameterNames.join(', ')}));`
327327
method.methodBodyServiceImpl = `return null;`
328328

329329
if (!method.hasResponseType) {
330330
method.responseType = 'Result<Void>'
331-
method.methodBody = `${domainNameLower}Service.${method.operationName}(${method.parameterNames.join(', ')});
331+
method.methodBody = `${domainNameLower}AppService.${method.operationName}(${method.parameterNames.join(', ')});
332332
return Result.ok();`
333333
method.methodBodyServiceImpl = '';
334334
}
@@ -345,7 +345,7 @@ function parseParameterContract(config: Config, method: ApiMethod) {
345345
} else {
346346
method.imports.add(`${config.basePackage}.core.Result`)
347347
}
348-
method.imports.add(`${config.basePackage}.service.${domainName}Service`)
348+
method.imports.add(`${config.basePackage}.service.${domainName}AppService`)
349349
method.imports.add('io.swagger.v3.oas.annotations.Operation')
350350
method.imports.add('io.swagger.v3.oas.annotations.tags.Tag')
351351
method.imports.add('org.springframework.web.bind.annotation.*')
@@ -355,6 +355,6 @@ function parseParameterContract(config: Config, method: ApiMethod) {
355355
method.importsService.forEach((importItem) => {
356356
method.importsServiceImpl.add(importItem);
357357
});
358-
method.importsServiceImpl.add(`${config.basePackage}.service.${domainName}Service`)
358+
method.importsServiceImpl.add(`${config.basePackage}.service.${domainName}AppService`)
359359
method.importsServiceImpl.add('org.springframework.stereotype.Service')
360360
}

src/templates.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ public class {{domainName}}Controller {
237237
* 服务对象
238238
*/
239239
@Resource
240-
private {{domainName}}Service {{domainNameLower}}Service;
240+
private {{domainName}}AppService {{domainNameLower}}AppService;
241241
}
242242
`;
243243
}
@@ -251,7 +251,7 @@ export function getServiceBasicTemplate(): string {
251251
* @author {{author}}
252252
* @since {{date}}
253253
*/
254-
public interface {{domainName}}Service {
254+
public interface {{domainName}}AppService {
255255
256256
}
257257
`;
@@ -267,7 +267,7 @@ export function getServiceImplBasicTemplate(): string {
267267
* @since {{date}}
268268
*/
269269
@Service
270-
public class {{domainName}}ServiceImpl implements {{domainName}}Service {
270+
public class {{domainName}}AppServiceImpl implements {{domainName}}AppService {
271271
272272
}
273273
`;

0 commit comments

Comments
 (0)