当前位置: 首页 > news >正文

electron使用electron-builder macOS windows 打包 签名 更新 上架

0. 前言

0.1 项目工程

看清目录结构,以便您阅读后续内容

0.2 参考资料

(1)macOS开发 证书等配置/打包后导出及上架

https://www.jianshu.com/p/c9c71f2f6eac首先需要为Mac App创建App ID: 填写信息如下—Description为"ProjectNameForMac"、Bundle ID为"com.CompanyName...icon-default.png?t=N7T8https://www.jianshu.com/p/c9c71f2f6eac(2) electron应用提交到Mac App Store(MAS)全流程

https://www.jianshu.com/p/3f4765c319b6icon-default.png?t=N7T8https://www.jianshu.com/p/3f4765c319b6

1. 安装electron-builder

2. macOS

2.1 创建 Certificates, Identifiers & Profiles Devices

在mac上安装xcode,打开xcode,然后按以下步骤操作。

(1) xcode的菜单栏:xcode > settings。登录apple id。

(2) 登录后,点击“Download  Manual Profiles”,再然后点击“Manage Certificates...”

再添加下面4个证书,创建后,该证书会自动在 网页上显示出来。

Sign In - Appleicon-default.png?t=N7T8https://developer.apple.com/account/resources/certificates/list

(3)打开以下网址,就会看到前一步创建的 证书

https://developer.apple.com/account/resources/certificates/list

(4) 创建 Identifiers

(5)创建 Devices(这个自行百度吧)

(6)创建Profiles

2.2 下载 Certificates Profiles 到本地 resource文件中

点击 Certificates 列表中的证书,然后点击“download”

在 Profiles 列表中点击“download”

2.3 检查macOS系统的证书配置情况

在 2.1 的步骤用xcode创建证书后,证书会显示在 钥匙串 中(自行百度打开这个程序)

(1) 登录>我的证书 中会看到以下两个证书(还有一个证书 Mac Developer ID Application的证书让我删除了,没在截图中)

(2) 登录>密钥 中会看到以下四个密钥

(3) 系统>我的证书 中会看到以下一个证书

(4) 系统>证书 中会看到以下两个证书

注意注意注意注意注意:

(1) 在每一张单个截图(不是所有截图,只指单个截图)中,证书不能重复,切记(血的教训,不要问为什么,我也不能给你解释清楚)。

如果重复了,就删除这些证书,然后把 2.2下载的cer后缀的证书 在macOS中双击,则就会安装到 “钥匙串访问”程序中

(2) 如果在 系统>证书 的列表中找到“Apple Worldwide Developer Relations Certification Authority”,则从官网下载,至于下载哪个,我也忘记了,你自己 研究一下,大概是 截图中任意一个即可,呵呵。

(3)以上截图中证书的位置大抵如此,反正我就是这么成功的,我也没空再去研究了。如果你没成功,那可以参考我的截图中证书的位置,至少能成功。

https://www.apple.com/certificateauthority/

2.4 安装 provisionprofile 文件

我也不知道要不要安装,反正我是安装了,干脆你也安装吧。

安装后,在此处 会显示这玩意,貌似“greader_distribution.provisionprofile”装上上

2.4 导出 p12文件,以备后用

导出以下四个文件,导出时要求输入密码,你自己输入吧(假设我设置的密码为 gege123)

四个文件的名字各种对应哪个证书,你自己猜猜看。

2.5 再次查看证书情况

打开shell,输入如下命令

xcrun security find-identity -v -p codesigning

注意:不要他奶奶的切换到 sudo su,就用你的正常 用户

看到没,有4个证书安装成功了,如果不成功,就根据2.3重新来一次。

2.6 创建plist文件,以备后用

我也不知道为啥要搞这些文件,你搞就对了。

(1) entitlements.mas.loginhelper.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict><key>com.apple.security.app-sandbox</key><true/></dict>
</plist>

(2) entitlements.mas.plist

文件中部分内容替换您自己的

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict><key>com.apple.security.app-sandbox</key><true/><key>com.apple.security.application-groups</key><array><string>GN5XP7HD2C.cn.rouhuasuan.greader (改成你自己的哈)</string></array><key>com.apple.application-identifier</key><string>GN5XP7HD2C.cn.rouhuasuan.greader (改成你自己的哈)</string><key>com.apple.security.network.client</key><true/><key>com.apple.security.network.server</key><true/><key>com.apple.security.cs.allow-jit</key><true/><key>com.apple.security.cs.allow-unsigned-executable-memory</key><true/><key>com.apple.security.cs.allow-dyld-environment-variables</key><true/><key>com.apple.security.files.user-selected.read-only</key><true/><key>com.apple.security.files.user-selected.read-write</key><true/><key>com.apple.security.files.downloads.read-write</key><true/></dict>
</plist>

(3)entitlements.mas.inherit.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict><key>com.apple.security.app-sandbox</key><true/><key>com.apple.security.inherit</key><true/></dict>
</plist>

2.7 package.json 配置

2.7.1 整体配置

(1)总体配置如下,但是根据不同的包格式,得做简单修改。

(2)在后文我也不解释有啥区别,你自己对比一下就知道了。

{"name": "greader","productName": "greader","version": "22.7.8","description": "A reader with transparent window background, arbitrary window size, and auto-hide","author": {"name": "youername","email": "youeremail","url": "youer office site"},"main": "src/bootstrap.js","scripts": {"pack": " electron-builder --dir ","win": " electron-builder --win --x64","mac": " electron-builder --mac","postinstall": "electron-builder install-app-deps"},"keywords": [],"license": "MIT","dependencies": {"bytenode": "^1.5.0","dayjs": "^1.11.8","electron-log": "^4.4.8","iconv-lite": "^0.6.3","jschardet": "^3.0.0","node-machine-id": "^1.1.12","yarn": "^1.22.21"},"devDependencies": {"electron": "25.3.0","electron-builder": "^24.6.4"},"build": {"appId": "GN5XP7HD2C.cn.rouhuasuan.greader","productName": "Greader","copyright": "Copyright © 2021 Alaso","directories": {"buildResources": "build","output": "dist"},"mac": {"category": "public.app-category.utilities","target":["dmg", "pkg", "mas", "mas-dev"],"hardenedRuntime": true,"gatekeeperAssess": false,"icon":"resource/mac.icns","entitlements": "./resource/entitlements.mas.plist","entitlementsInherit": "./resource/entitlements.mas.inherit.plist","extendInfo": {"ElectronTeamID": "GN5XP7HD2C","com.apple.developer.team-identifier": "GN5XP7HD2C","com.apple.application-identifier": "GN5XP7HD2C.cn.rouhuasuan.greader","Bundle name": "Greader","LSHasLocalizedDisplayName": true,"ITSAppUsesNonExemptEncryption": "NO"}},"mas": {"type": "distribution","identity": "penghui deng (GN5XP7HD2C)","hardenedRuntime" : false,   "provisioningProfile": "./resource/greader_distribution.provisionprofile"},"masDev": {"type": "development","identity": "penghui deng (8MUK7LXZQ5)","hardenedRuntime": false,"provisioningProfile": "./resource/greader_development.provisionprofile"},"dmg": {},"pkg": {"identity": "penghui deng (GN5XP7HD2C)"},"win":{"target": ["nsis", "msi", "zip"],"icon": "resource/win.ico"},"nsis": {"oneClick": false,"perMachine": false,"allowToChangeInstallationDirectory": true},"msi": {"menuCategory": "bestapp"}}
}

2.7.2 编译mas-dev

(1)package配置

{"name": "greader","productName": "greader","version": "22.7.8","description": "A reader with transparent window background, arbitrary window size, and auto-hide","author": {"name": "youername","email": "youeremail","url": "youer office site"},"main": "src/bootstrap.js","scripts": {"pack": " electron-builder --dir ","win": " electron-builder --win --x64","mac": " electron-builder --mac","postinstall": "electron-builder install-app-deps"},"keywords": [],"license": "MIT","dependencies": {"bytenode": "^1.5.0","dayjs": "^1.11.8","electron-log": "^4.4.8","iconv-lite": "^0.6.3","jschardet": "^3.0.0","node-machine-id": "^1.1.12","yarn": "^1.22.21"},"devDependencies": {"electron": "25.3.0","electron-builder": "^24.6.4"},"build": {"appId": "GN5XP7HD2C.cn.rouhuasuan.greader","productName": "Greader","copyright": "Copyright © 2021 Alaso","directories": {"buildResources": "build","output": "dist"},"mac": {"category": "public.app-category.utilities","target":["mas-dev"],"hardenedRuntime": true,"gatekeeperAssess": false,"icon":"resource/mac.icns","entitlements": "./resource/entitlements.mas.plist","entitlementsInherit": "./resource/entitlements.mas.inherit.plist","extendInfo": {"ElectronTeamID": "GN5XP7HD2C","com.apple.developer.team-identifier": "GN5XP7HD2C","com.apple.application-identifier": "GN5XP7HD2C.cn.rouhuasuan.greader","Bundle name": "Greader","LSHasLocalizedDisplayName": true,"ITSAppUsesNonExemptEncryption": "NO"}},"mas": {"type": "distribution","identity": "penghui deng (GN5XP7HD2C)","hardenedRuntime" : false,   "provisioningProfile": "./resource/greader_distribution.provisionprofile"},"masDev": {"type": "development","identity": "penghui deng (8MUK7LXZQ5)","hardenedRuntime": false,"provisioningProfile": "./resource/greader_development.provisionprofile"},"dmg": {},"pkg": {"identity": "penghui deng (GN5XP7HD2C)"},"win":{"target": ["nsis", "msi", "zip"],"icon": "resource/win.ico"},"nsis": {"oneClick": false,"perMachine": false,"allowToChangeInstallationDirectory": true},"msi": {"menuCategory": "bestapp"}}
}

(2)执行命令

export CSC_IDENTITY_AUTO_DISCOVERY=false
export CSC_LINK=/Users/dhzy/Desktop/project2/cer/appdev.p12
export CSC_KEY_PASSWORD=gege123
export CSC_NAME="penghui deng (8MUK7LXZQ5)"
yarn mac注意:yarn mac 也可以用 npm run mac代替

2.7.3 编译mas

这个是要发布到 mac store的,不能直接运行

(1)package配置

{"name": "greader","productName": "greader","version": "22.7.8","description": "A reader with transparent window background, arbitrary window size, and auto-hide","author": {"name": "youername","email": "youeremail","url": "youer office site"},"main": "src/bootstrap.js","scripts": {"pack": " electron-builder --dir ","win": " electron-builder --win --x64","mac": " electron-builder --mac","postinstall": "electron-builder install-app-deps"},"keywords": [],"license": "MIT","dependencies": {"bytenode": "^1.5.0","dayjs": "^1.11.8","electron-log": "^4.4.8","iconv-lite": "^0.6.3","jschardet": "^3.0.0","node-machine-id": "^1.1.12","yarn": "^1.22.21"},"devDependencies": {"electron": "25.3.0","electron-builder": "^24.6.4"},"build": {"appId": "GN5XP7HD2C.cn.rouhuasuan.greader","productName": "Greader","copyright": "Copyright © 2021 Alaso","directories": {"buildResources": "build","output": "dist"},"mac": {"category": "public.app-category.utilities","target":["mas"],"hardenedRuntime": true,"gatekeeperAssess": false,"icon":"resource/mac.icns","entitlements": "./resource/entitlements.mas.plist","entitlementsInherit": "./resource/entitlements.mas.inherit.plist","extendInfo": {"ElectronTeamID": "GN5XP7HD2C","com.apple.developer.team-identifier": "GN5XP7HD2C","com.apple.application-identifier": "GN5XP7HD2C.cn.rouhuasuan.greader","Bundle name": "Greader","LSHasLocalizedDisplayName": true,"ITSAppUsesNonExemptEncryption": "NO"}},"mas": {"type": "distribution","identity": "penghui deng (GN5XP7HD2C)","hardenedRuntime" : false,   "provisioningProfile": "./resource/greader_distribution.provisionprofile"},"masDev": {"type": "development","identity": "penghui deng (8MUK7LXZQ5)","hardenedRuntime": false,"provisioningProfile": "./resource/greader_development.provisionprofile"},"dmg": {},"pkg": {"identity": "penghui deng (GN5XP7HD2C)"},"win":{"target": ["nsis", "msi", "zip"],"icon": "resource/win.ico"},"nsis": {"oneClick": false,"perMachine": false,"allowToChangeInstallationDirectory": true},"msi": {"menuCategory": "bestapp"}}
}

(2)执行命令

export CSC_IDENTITY_AUTO_DISCOVERY=false
export CSC_LINK=/Users/dhzy/Desktop/project2/cer/appdis.p12
export CSC_KEY_PASSWORD=greader123
export CSC_NAME="penghui deng (GN5XP7HD2C)"
yarn mac

2.7.4 编译dmg、pkg包

(1)package配置

{"name": "greader","productName": "greader","version": "22.7.8","description": "A reader with transparent window background, arbitrary window size, and auto-hide","author": {"name": "youername","email": "youeremail","url": "youer office site"},"main": "src/bootstrap.js","scripts": {"pack": " electron-builder --dir ","win": " electron-builder --win --x64","mac": " electron-builder --mac","postinstall": "electron-builder install-app-deps"},"keywords": [],"license": "MIT","dependencies": {"bytenode": "^1.5.0","dayjs": "^1.11.8","electron-log": "^4.4.8","iconv-lite": "^0.6.3","jschardet": "^3.0.0","node-machine-id": "^1.1.12","yarn": "^1.22.21"},"devDependencies": {"electron": "25.3.0","electron-builder": "^24.6.4"},"build": {"appId": "GN5XP7HD2C.cn.rouhuasuan.greader","productName": "Greader","copyright": "Copyright © 2021 Alaso","directories": {"buildResources": "build","output": "dist"},"mac": {"category": "public.app-category.utilities","target":["dmg", "pkg"],"hardenedRuntime": true,"gatekeeperAssess": false,"icon":"resource/mac.icns","entitlements": "./resource/entitlements.mas.plist","entitlementsInherit": "./resource/entitlements.mas.inherit.plist","extendInfo": {"ElectronTeamID": "GN5XP7HD2C","com.apple.developer.team-identifier": "GN5XP7HD2C","com.apple.application-identifier": "GN5XP7HD2C.cn.rouhuasuan.greader","Bundle name": "Greader","LSHasLocalizedDisplayName": true,"ITSAppUsesNonExemptEncryption": "NO"}},"mas": {"type": "distribution","identity": "penghui deng (GN5XP7HD2C)","hardenedRuntime" : false,   "provisioningProfile": "./resource/greader_distribution.provisionprofile"},"masDev": {"type": "development","identity": "penghui deng (8MUK7LXZQ5)","hardenedRuntime": false,"provisioningProfile": "./resource/greader_development.provisionprofile"},"dmg": {},"pkg": {"identity": "penghui deng (GN5XP7HD2C)"},"win":{"target": ["nsis", "msi", "zip"],"icon": "resource/win.ico"},"nsis": {"oneClick": false,"perMachine": false,"allowToChangeInstallationDirectory": true},"msi": {"menuCategory": "bestapp"}}
}

(2)执行命令

export CSC_IDENTITY_AUTO_DISCOVERY=false
export CSC_LINK=/Users/dhzy/Desktop/project2/cer/appdis.p12
export CSC_KEY_PASSWORD=greader123
export CSC_NAME="penghui deng (GN5XP7HD2C)"
yarn mac

2.7.5 相关异常问题

(1)如果出现什么 timestamp XXXX 的

没有联网,或者网络不好,多次尝试。也不要使用代理,代理可能导致失败。

(2)

相关文章:

electron使用electron-builder macOS windows 打包 签名 更新 上架

0. 前言 0.1 项目工程 看清目录结构&#xff0c;以便您阅读后续内容 0.2 参考资料 &#xff08;1&#xff09;macOS开发 证书等配置/打包后导出及上架 https://www.jianshu.com/p/c9c71f2f6eac首先需要为Mac App创建App ID&#xff1a; 填写信息如下—Description为"P…...

autojs项目搭建和入门实践

Auto.js 是一款无需root权限的javascript自动化软件&#xff0c;它可以帮助用户在手机上自动执行各种任务&#xff0c;比如自动填写表单、自动点击按钮、自动切换应用等&#xff0c;并且可以通过图形用户界面来管理和编辑脚本。 软件环境 操作系统&#xff1a;win10 VSCODE&…...

uni-app 跨端开发注意事项

文章目录 前言H5正常但App异常的可能性标题二H5正常但小程序异常的可能性小程序正常但App异常的可能性小程序或App正常&#xff0c;但H5异常的可能性App正常&#xff0c;小程序、H5异常的可能性使用 Vue.js 的注意区别于传统 web 开发的注意H5 开发注意微信小程序开发注意支付宝…...

在 vscode 中的json文件写注释,不报错的解决办法

打开 vscode 的「设置」&#xff0c;搜索&#xff1a;files: associations&#xff0c;然后添加 *.json jsonc最后...

基于uniapp的 电子书小程序——需求整理

前言 想开发一个很简单的 电子书阅读小程序&#xff0c;要怎么做的。下面从功能、数据库设计这一块来说一下。说不一定能从某个角度提供一些思路 开发语言 springcloud uniapp 小程序&#xff08;vue2&#xff09;mysql 说明 电子书的主题是电子书&#xff0c;我们在日常…...

Hutool HttpRequest 首次请求正常 第二次被系统拦截

Hutool HttpRequest 首次请求正常 第二次被系统拦截 功能描述异常现象错误代码 异常排查问题跟踪问题总结处理方案最终修改后的代码 功能描述 需要请求第三方某个接口&#xff0c;获取接口中的数据。 异常现象 使用main 方法 通过Hutool 工具类发出请求&#xff0c;获取数据…...

github国内访问小解(windows)

git 下载安装 使用 github 前必须确保电脑上已经安装了 Git&#xff0c;可以从 Git 官方网站去下载。 官方的网站在国内访问会比较慢&#xff0c;这里可以选择国内镜像&#xff1a;https://registry.npmmirror.com/binary.html?pathgit-for-windows/ github 之旅 确认电脑已…...

NX二次开发UF_CSYS_set_wcs_display 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_set_wcs_display Defined in: uf_csys.h int UF_CSYS_set_wcs_display(int display_status ) overview 概述 Set display of work coordinate system. 展示工作坐标系。 …...

DNS 区域传输 (AXFR)

漏洞描述 docker环境搭建 使用 AXFR 协议的 DNS 区域传输是跨 DNS 服务器复制 DNS 记录的最简单机制。为了避免在多个 DNS 服务器上编辑信息&#xff0c;可以在一台服务器上编辑信息&#xff0c;并使用 AXFR 将信息复制到其他服务器。但是&#xff0c;如果您不保护您的服务器&…...

Ubuntu 安装 JMeter:轻松上手

Apache JMeter 是一个开源的负载测试工具&#xff0c;可以用于测试静态和动态资源&#xff0c;确定服务器的性能和稳定性。在本文中&#xff0c;我们将讨论如何下载和安装 JMeter。 安装 Java&#xff08;已安装 Java 的此步骤可跳过&#xff09; 要下载 Java&#xff0c;请遵…...

在工业生产环境下,服务器没有互联网,如何通过代理自己的电脑上互联网?

服务器主机是CentOS7操作系统.&#xff0c;服务器的局域网是10.0.6.x网段。我的笔记本的以太网口的局域网ip是也是10.0.6.x&#xff0c;由于这个10.0.6.x的整个局域网是没有拨号上网的所有无法访问互联网。 但是&#xff0c;如果笔记本脸上wifi&#xff0c;wifi的网段是192.168…...

【brpc学习实践六】backup request场景案例

应用场景 有时为了保证可用性,需要同时访问两路服务,哪个先返回就取哪个。在brpc中,这有多种做法,根据server是否挂在同一个命名服务内有所区别。 当后端server可以挂在一个命名服务内时 Channel开启backup request。这个Channel会先向其中一个server发送请求,如果在Ch…...

el-table导出为excel表格

目录 1.下载依赖 2.引入插件 3.定义函数 4.设置table的id 1.下载依赖 npm intall --save xlsx npm intall --save file-saver2.引入插件 import FileSaver from "file-saver"; import XLSX from "xlsx";3.定义函数 exportExcel() {let fix document…...

CVE-2022-0543(Redis 沙盒逃逸漏洞)

简介 CVE-2022-0543是一个与Redis相关的安全漏洞。在Redis中&#xff0c;用户连接后可以通过eval命令执行Lua脚本&#xff0c;但在沙箱环境中脚本无法执行命令或读取文件。然而&#xff0c;攻击者可以利用Lua沙箱中遗留的变量package的loadlib函数来加载动态链接库liblua5.1.s…...

查swap内存使用

查询linux的swap被什么使用了 查询centos的swap被什么进程使用了 swap内存被什么程序占用&#xff0c;什么程序使用了swap分区&#xff0c;占用swap内存的进程 查系统使用swap内存前10个进程&#xff1a; for i in $( cd /proc;ls |grep "^[0-9]"|awk $0 >10…...

Element UI的Tabs 标签页位置导航栏去除线条

在实际开发中&#xff0c;我们调整了相关样式&#xff0c;导致导航栏的相关样式跟随不上&#xff0c;如下图所示&#xff1a; 因为我跳转了前边文字的样式并以在导航栏添加了相关头像&#xff0c;导致右边的线条定位出现问题&#xff0c;我在想&#xff0c;要不我继续调整右边…...

【Python 训练营】N_1 验证密码

N_1 验证密码 题目 设计一个用户密码验证程序&#xff0c;要求密码输入只有3次机会&#xff0c;且密码中不能包含”*”字符。 分析 需要考虑3个问题&#xff1a;验证次数、特殊字符和正误密码判断&#xff1b;验证次数需要使用循环&#xff0c;3个问题需要用到分支结构&…...

Pinia 和 Vuex 的对比,storeToRefs 的原理

目录 1&#xff0c;Pinia 介绍2&#xff0c;和 Vuex 的对比3&#xff0c;storeToRefs 源码分析 1&#xff0c;Pinia 介绍 官网简介 Pinia 使用上的问题&#xff0c;官方文档很详细&#xff0c;这里不做赘述。 Pinia 是 Vue 的专属状态管理库&#xff0c;支持vue2和vue3&#x…...

Mycat分库分表的操作(配置)

Mycat是一个开源的分布式数据库中间件&#xff0c;它可以对数据库进行分库分表的操作&#xff0c;以下是Mycat分库分表的操作步骤&#xff1a; 配置数据源&#xff1a;将要操作的数据库和表通过Mycat的配置文件配置到数据源中。配置分片规则&#xff1a;根据分库分表的需求&am…...

android的canvas的clipRegion废弃替代代码

由于clipRegion的一些问题&#xff0c;导致他被废弃了&#xff0c;但又有时候会用到&#xff0c;所以写了一个工具类来替代它 代码如下 package com.example;import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; import android.g…...

不用C、不用Verilog!用Ada点亮LED,这才是Zynq的“另一种打开方式”

当你还在用C语言写GPIO、用Verilog连LED的时候&#xff0c;有人已经开始用一门“冷门但强大”的语言——Ada&#xff0c;在Zynq上点灯了。1.1 设置 EMIO 允许PS控制 LED在 Zedboard 上&#xff0c;LED 只能通过可编程逻辑 (PL)&#xff08;FPGA&#xff09;端进行控制&#xff…...

【告别for循环】Java Stream 流式编程精通:从入门到源码级的性能优化

告别冗长的 for 循环&#xff0c;拥抱函数式编程的优雅与高效 前言 自 Java 8 问世以来&#xff0c;Stream API 便成为了 Java 开发者手中一把锋利的利器。它让我们能够以声明式的方式处理集合数据&#xff0c;写出更加简洁、可读、可维护的代码。然而&#xff0c;在实际项目中…...

XQuery FLWOR 与 HTML 的融合应用

XQuery FLWOR 与 HTML 的融合应用 引言 在当今信息爆炸的时代,HTML 作为网页标准标记语言,在互联网中扮演着至关重要的角色。而 XQuery,作为一种用于查询和处理 XML 和其他结构化数据的语言,与 HTML 的结合使用为开发者提供了强大的数据操作能力。本文将深入探讨 XQuery …...

WaveTools鸣潮工具箱:终极指南带你免费解锁120帧游戏体验

WaveTools鸣潮工具箱&#xff1a;终极指南带你免费解锁120帧游戏体验 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 想要在《鸣潮》中获得丝滑流畅的120帧游戏体验吗&#xff1f;被游戏默认帧率限制困扰已…...

【PySide6】QLabel图片显示进阶:从文件选择到自适应布局

1. 从零开始构建图片查看器 在PySide6中实现图片查看功能看似简单&#xff0c;但要让用户体验达到专业水准&#xff0c;需要处理好很多细节问题。我最近在开发一个图像标注工具时&#xff0c;就遇到了图片显示的各种坑&#xff0c;今天把这些实战经验分享给大家。 先说说我们最…...

别再傻傻分不清!一文搞懂手机卡和手机里的MCC、MNC、IMSI、IMEI都是啥(附查询方法)

手机通信背后的数字密码&#xff1a;MCC、MNC、IMSI与IMEI全解析 每次插入SIM卡时&#xff0c;手机屏幕上跳出的运营商名称背后&#xff0c;其实隐藏着一套精密的数字编码系统。这些代码如同移动通信世界的"暗号"&#xff0c;从国家归属到设备身份&#xff0c;构建起…...

Obsidian Excel插件终极指南:在笔记中无缝嵌入和管理电子表格

Obsidian Excel插件终极指南&#xff1a;在笔记中无缝嵌入和管理电子表格 【免费下载链接】obsidian-excel 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-excel 你是否经常在Obsidian笔记和Excel表格之间来回切换&#xff0c;只为整理几个简单的数据&#xf…...

2025最权威的降重复率平台横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有种工具叫降AI 工具&#xff0c;其是一类软件或者算法&#xff0c;目的在于降低人工智能生成…...

用Python搞定二叉树侧视图:从PTA天梯赛真题到面试常考题的保姆级解法

用Python搞定二叉树侧视图&#xff1a;从PTA天梯赛真题到面试常考题的保姆级解法 在技术面试中&#xff0c;二叉树问题几乎是必考内容&#xff0c;而"侧视图"问题因其能同时考察递归、树遍历和层序处理等多个核心概念&#xff0c;成为大厂面试官的最爱之一。这道源自…...

动手实践:用Python仿真一个简易的捷联惯导系统(SINS)

动手实践&#xff1a;用Python仿真一个简易的捷联惯导系统&#xff08;SINS&#xff09; 在自动驾驶、无人机和机器人领域&#xff0c;惯性导航系统&#xff08;INS&#xff09;扮演着至关重要的角色。它不依赖外部信号&#xff0c;仅通过内部传感器就能实现连续定位&#xff0…...