React Native 的使用步骤-第三章(自定义Tab)
接着学习,自定义底部TabBar要使用此导航器,请确保您具有 @react-navigation/native 及其依赖项(按照本指南操作),然后安装 @react-navigation/bottom-tabs :
npm install @react-navigation/bottom-tabs
D:\react\rnApp\components\MyTabBar\index.ts
import * as React from 'react';import type {PropsWithChildren} from 'react';import {View, Text, TouchableOpacity} from 'react-native';type SectionProps = PropsWithChildren<{ state?: any; navigation?: any; route?: any; descriptors?: any;} ...
React Native 的使用步骤-第二章(页面导航传参)
接上篇文章,这篇我们来学习下react-native中如何使用导航reactnavigation
安装在React Native项目中安装所需的包:
npm install @react-navigation/native
npm install react-native-screens react-native-safe-area-context
npm install @react-navigation/native-stack
react-native-screens 包需要一个额外的配置步骤才能在Android设备上正常工作。编辑位于 android/app/src/main/java/<your package name>/ 下的 MainActivity.kt 或 MainActivity.java 文件
添加如下代码
class MainActivity: ReactActivity() { // ... override fun onCreate(savedInstanceState: Bundle?) { super.on ...
React Native 的使用步骤-第一章(超详细)
React Native 作为一款可以开发可以媲美原生应用的框架,对于我们前端来说还是比较友好的
附上官网地址:React Native
环境搭建这里我们就已Windows为例
必须安装的依赖有:Node、JDK 和 Android Studio。
Node的安装这里就不做过多介绍,推荐大家使用nvm来进行安装node可以非常方便的切换node版本,附上链接 nvm下载地址) 下载完后我们使用nvm安装node18以上的版本
接下来先下载一个rn的基础模板 npx react-native init MyTestApp
JDk下载链接 JDK17(必须使用17哦)
低于 0.73 版本的 React Native 需要 JDK 11 版本,而低于 0.67 的需要 JDK 8 版本。
然后javac -version查看是否安装成功,成功打印版本即成功
集成 Android 开发环境首先下载 Android Studio 直链下载 默认勾选的都先不用动,一路下一步直到看到欢迎界面,点击 Setting
找到Android Adk 选择 Android 10
然后点击 sho ...
Tauri开发的程序,使用github action快速跨平台编译并发布流程,包括Windows、mac
Tauri开发的程序,使用github action快速跨平台编译并发布流程,包括Windows、mac.原因Tauri 严重依赖原生库和工具链,因此目前无法在某一平台实现交叉编译。最佳选择是使用托管在 GitHub Action、Azure Pipelines、GitLab 或其他选项上的 CI/CD 管道进行编译。管道可以同时为每个平台运行编译,使编译和发布过程更加容易。
GitHub Actions利用 GitHub Actions,在你的仓库中自动化、定制和执行你的软件开发工作流程。你可以发现、创建和共享操作,以执行你想要的任何工作,包括 CI/CD,并在一个完全定制的工作流程中组合操作。
创建 release.yml在项目根路径下创建 .github/workflows 目录,在 .github/workflows 下创建 release.yml(文件名自定义) 文件。将以下内容复制到文件中:
配置文件name: Releaseon: push: tags: - "v*" workflow_dispatch:jobs ...
使用node-qrcode生成二维码
html中直接使用/** * Skipped minification because the original files appears to be already minified. * Original file: /npm/qrcode@1.5.1/build/qrcode.js * * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files */var QRCode=function(t){"use strict";var r,e=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then},n=[0,26,44,70,100,134,172,196,242,292,346,40 ...
tauri通过rust流式下载文件,并计算进度返回给前端
tauri通过rust流式下载文件,并计算进度返回给前端我通过Tauri前端中下载文件并展示进度事遇到了一些问题,通过a链接xhr下载总是有webview自带的下载提示,感觉很不友好,这里提供一个解决方案如下:
首先在main.rs 中定义一个全局变量(需要返回前端)
// 全局进度信息static mut GLOBAL_VARIABLE: String = String::new();// 下载文件的大小static mut GLOBAL_TOTAL: f64 = 0.0;// 是否下载中0否 1是static mut ISDOWN: u64 = 0;
然后再通过tauri返回给前端这个下载函数
//流式下载文件#[tauri::command]async fn download_file_q(url: String, path: String, puse: u64) -> Result<String, String> { unsafe { println!("ISDOWN:{}", ...
给tauri打包的exe可执行程序签名
准备工作首先你要有一个tauri打包的exe的可执行程序并安装相关环境 参考我上一篇文章如何使用tauri将web项目构建exe
配置环境变量添加到path中C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64
注意我的是win10 具体路径请查看本机
开始签名1、创建X.509证书
Makecert -sv xx_signature.pvk -r -n "CN=XX某某科技有限公司" xx_signature.cer
输入如下密码3次,可也可以自己生成密码7W0d2S942DB0C82s
2、创建发行者证书
Cert2spc xx_signature.cer xx_signature.spc
3、导出pfx证书
pvk2pfx -pvk xx_signature.pvk -pi 7W0d2S942DB0C82s -spc xx_signature.spc -pfx xx_signature.pfx -f4、软件签名
SignTool sign /fd sha256 /a /f xx_signatur ...
如何使用tauri将web项目构建exe
准备工作附上官网 tauri官网
您需要安装 Microsoft C++ 生成工具。 最简单的方法是下载 Visual Studio 2022 生成工具。 进行安装选择时,请勾选 “C++ 生成工具” 和 Windows 10 SDK。
首先我们要安装rust
winget install --id Rustlang.Rustup
windowns可以执行以上命令然后按照提示继续
如果不能执行就手动安装 前往下载下载完毕直接执行 然后按照提示选择 1 就行 继续安装 可能会比较慢
更换下载源:Rustup 默认使用官方下载源。尝试切换到其他镜像源,可以通过设置环境变量 RUSTUP_DIST_SERVER 来指定新的下载源。例如,你可以尝试使用清华大学的 Rust 镜像源,设置命令为 set RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup,然后再次运行 Rustup 命令rustup default stable。
最后查看是否安装成功
rustc --versioncargo --version
提示出 ...
防止别人打开控制台
防止别人打开控制台的代码贴到html中即可🙄
<script> ((function() { var callbacks = [] , timeLimit = 50 , open = false; setInterval(loop, 1); return { addListener: function(fn) { callbacks.push(fn); }, cancleListenr: function(fn) { callbacks = callbacks.filter(function(v) { return v !== fn; & ...
PM2常用命令
PM2常用命令
启动应用程序:
pm2 start app.js
这将启动名为 app的应用程序,并将其作为一个后台进程运行。
列出所有应用程序:
pm2 list
这将列出所有正在运行的应用程序,包括它们的ID、名称、状态和启动时间等信息。
停止应用程序:
pm2 stop app
这将停止名为 app的应用程序。
重启应用程序:
pm2 restart app
这将重启名为 app的应用程序。
删除应用程序:
pm2 delete app
这将停止并删除名为 app的应用程序。
监视应用程序日志:
pm2 logs app
这将显示名为 app的应用程序的日志输出。
监视所有应用程序日志:
pm2 logs
这将显示所有正在运行的应用程序的日志输出。
监视应用程序的CPU和内存使用情况:
pm2 monit app
这将显示名为 app的应用程序的CPU和内存使用情况。
使用PM2启动应用程序,并将日志输出到文件夹中
pm2 start app.js --name myapp --log logs/myapp.log
这将启动名为 ...