给大家分享一个接单/发单得小程序
小程序链接:
小程序://吖唏接单/Tm0Y19RMgyRQOYb
小程序链接:
小程序://吖唏接单/Tm0Y19RMgyRQOYb
三星手机Android 15 不兼容问题解决
使用uniapp开发应用程序,结果部分用户使用三星手机无法正常安装,总结了下原因大概如下两点:
原因一:targetVersion 设置过低无法兼容最新版。
解决方式:查看自己手机系统版本,找到对应API等级。我这里是Android15,对应API等级35。重新打包发布后,下载安装可以正常安装到三星Android15版本手机。
https://uniapp.dcloud.net.cn/tutorial/app-android-targetsdkversion.html
https://uniapp.dcloud.net.cn/tutorial/app-android-targetsdkversion.html
原因二:CPU不兼容。
解决方式:勾选对应CPU,如果不确定,全部勾选,不要漏掉。
使用uniapp开发应用程序,结果部分用户使用三星手机无法正常安装,总结了下原因大概如下两点:
原因一:targetVersion 设置过低无法兼容最新版。
解决方式:查看自己手机系统版本,找到对应API等级。我这里是Android15,对应API等级35。重新打包发布后,下载安装可以正常安装到三星Android15版本手机。
https://uniapp.dcloud.net.cn/tutorial/app-android-targetsdkversion.html
https://uniapp.dcloud.net.cn/tutorial/app-android-targetsdkversion.html
原因二:CPU不兼容。
解决方式:勾选对应CPU,如果不确定,全部勾选,不要漏掉。
收起阅读 »专业苹果证书检测工具 | cert.signstack.cc
苹果IPA在线签名工具(支持Win/Mac)
支持功能:
1支持在线IPA签名与重签名操作
2.可编辑应用名称与标识符信息
3.去除IPA时间限制及冗余动态库
4.提供永久免费分发与下载链接服务
5.支持Windows和macOS双平台使用
访问地址:
https://sign.ipasign.cc
支持功能:
1支持在线IPA签名与重签名操作
2.可编辑应用名称与标识符信息
3.去除IPA时间限制及冗余动态库
4.提供永久免费分发与下载链接服务
5.支持Windows和macOS双平台使用
访问地址:
https://sign.ipasign.cc
一个用于压缩小程序 JSON 文件的 unplugin 插件,支持 webpack 和 vite
@uni_toolkit/unplugin-compress-json
一个用于压缩 JSON 文件的 unplugin 插件,可用于减小小程序端产物体积,支持 Vite、Webpack 主流构建工具。
功能特性
- 🗜️ 自动压缩 - 自动移除 JSON 文件中的空白字符和换行符
- 🔧 多构建工具支持 - 支持 Vite、Webpack、Rollup 等构建工具
- ⚡ 零配置 - 开箱即用,无需额外配置
- 🎯 精确匹配 - 只处理
.json文件,不影响其他资源
安装
# npm
npm install @uni_toolkit/unplugin-compress-json -D
# yarn
yarn add @uni_toolkit/unplugin-compress-json -D
# pnpm
pnpm add @uni_toolkit/unplugin-compress-json -D
使用方法
Vite
// vite.config.js
import { defineConfig } from 'vite'
import CompressJson from '@uni_toolkit/unplugin-compress-json/vite'
import uni from '@dcloudio/vite-plugin-uni'
export default defineConfig({
plugins: [
uni(),
CompressJson(),
],
})
Vue CLI
// vue.config.js
const CompressJson = require('@uni_toolkit/unplugin-compress-json/webpack')
module.exports = {
configureWebpack: {
plugins: [
CompressJson(),
],
},
}
工作原理
插件会在构建过程中自动检测所有 .json 文件,并移除其中的:
- 空格
- 制表符
- 换行符
- 其他空白字符
压缩前:
{
"name": "example",
"version": "1.0.0",
"description": "这是一个示例"
}
压缩后:
{"name":"example","version":"1.0.0","description":"这是一个示例"}
注意事项
- 插件只处理构建输出中的
.json文件 - 不会修改源代码文件
- 适用于生产环境构建,可以减小打包体积
@uni_toolkit/unplugin-compress-json
一个用于压缩 JSON 文件的 unplugin 插件,可用于减小小程序端产物体积,支持 Vite、Webpack 主流构建工具。
功能特性
- 🗜️ 自动压缩 - 自动移除 JSON 文件中的空白字符和换行符
- 🔧 多构建工具支持 - 支持 Vite、Webpack、Rollup 等构建工具
- ⚡ 零配置 - 开箱即用,无需额外配置
- 🎯 精确匹配 - 只处理
.json文件,不影响其他资源
安装
# npm
npm install @uni_toolkit/unplugin-compress-json -D
# yarn
yarn add @uni_toolkit/unplugin-compress-json -D
# pnpm
pnpm add @uni_toolkit/unplugin-compress-json -D
使用方法
Vite
// vite.config.js
import { defineConfig } from 'vite'
import CompressJson from '@uni_toolkit/unplugin-compress-json/vite'
import uni from '@dcloudio/vite-plugin-uni'
export default defineConfig({
plugins: [
uni(),
CompressJson(),
],
})
Vue CLI
// vue.config.js
const CompressJson = require('@uni_toolkit/unplugin-compress-json/webpack')
module.exports = {
configureWebpack: {
plugins: [
CompressJson(),
],
},
}
工作原理
插件会在构建过程中自动检测所有 .json 文件,并移除其中的:
- 空格
- 制表符
- 换行符
- 其他空白字符
压缩前:
{
"name": "example",
"version": "1.0.0",
"description": "这是一个示例"
}
压缩后:
{"name":"example","version":"1.0.0","description":"这是一个示例"}
注意事项
- 插件只处理构建输出中的
.json文件 - 不会修改源代码文件
- 适用于生产环境构建,可以减小打包体积
【经验】pc微信小程序监听窗口状态:最小化、显示、失焦聚焦
文档地址:
wx.onWindowStateChange监听小程序窗口状态变化事件。仅适用于 PC 平台
wx.offWindowStateChange移除小程序窗口状态变化事件的监听函数
// #ifdef MP-WEIXIN
// 监听小程序窗口状态变化事件。仅适用于 PC 平台;建议在onLoad生命周期下添加监听
if (wx.onWindowStateChange) {
wx.onWindowStateChange(function(res) {
/**
* @param {string} res.state
* minimize:窗口最小化
* normalize:窗口最小化后,再次打开小程序
*/
});
}
// 移除小程序窗口状态变化事件的监听函数;建议在onUnload生命周期下移除
if (wx.offWindowStateChange) {
wx.offWindowStateChange();
}
// #endif 文档地址:
wx.onWindowStateChange监听小程序窗口状态变化事件。仅适用于 PC 平台
wx.offWindowStateChange移除小程序窗口状态变化事件的监听函数
// #ifdef MP-WEIXIN
// 监听小程序窗口状态变化事件。仅适用于 PC 平台;建议在onLoad生命周期下添加监听
if (wx.onWindowStateChange) {
wx.onWindowStateChange(function(res) {
/**
* @param {string} res.state
* minimize:窗口最小化
* normalize:窗口最小化后,再次打开小程序
*/
});
}
// 移除小程序窗口状态变化事件的监听函数;建议在onUnload生命周期下移除
if (wx.offWindowStateChange) {
wx.offWindowStateChange();
}
// #endif 收起阅读 »
华为统一扫码uts插件支持iOS、Android、HarmonyOS支持Component组件模式
华为统一扫码uts插件,支持uniapp/uniapp-x项目,支持三端iOS、Android、HarmonyOS(仅支持默认扫码),支持vue2/vue3,支持连续扫码,多码模式,支持Component模式(全屏、半屏扫描,自定义扫码页面)插件链接https://ext.dcloud.net.cn/plugin?id=21761 android端体验demo下载地址:https://www.pgyer.com/hwscanunix
华为统一扫码uts插件,支持uniapp/uniapp-x项目,支持三端iOS、Android、HarmonyOS(仅支持默认扫码),支持vue2/vue3,支持连续扫码,多码模式,支持Component模式(全屏、半屏扫描,自定义扫码页面)插件链接https://ext.dcloud.net.cn/plugin?id=21761 android端体验demo下载地址:https://www.pgyer.com/hwscanunix
收起阅读 »uni-app差异性问题记录(个人记录)
uni-app
原生标签
input元素编译后的结构(251002)
浏览器和微信小程序编译后的DOM结构有区别,需要注意样式的使用可能会引起兼容性问题
# 源文件
input
# 编译到浏览器
uni-input
div.uni-input-wrapper
div.uni-input-placeholder
input.uni-input-input
# 编译到微信小程序
input
input元素的align-items属性(251008)
当给input元素添加display:flex; align-items: center;属性后,微信开发者工具/安卓小程序和苹果小程序显示不一致,前者的palceholder并未垂直居中,而是靠顶部对齐,后者则不受影响。
最好是不要给input元素设置flex相关属性,避免兼容性问题
# 微信小程序开发者工具agent
userAgent: "wechatdevtools desktopapp appservice port/50966 token/e995b79e6bfb4535967abddb723dda7a runtime/2 sessionid/323 MicroMessenger"
# 安卓小程序agent
UA: Mozilla/5.0 (Linux; Android 13; ANY-AN00 Build/HONORANY-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380215 MMWEBSDK/20250804 MMWEBID/5667 MicroMessenger/8.0.63.2920(0x28003F3C) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android
# 苹果小程序agent
UA: Mozilla/5.0 (iPhone; CPU iPhone OS 18_6_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.64(0x18004028) NetType/WIFI Language/zh_CN MiniProgramEnv/iOS
button元素编译后的结构(251012)
浏览器和小程序环境编译后的标签名不一致,需要注意可访问性以及样式兼容性的问题
- tailwindcss中的disabled状态会失效,因为uni-button没有disabled属性
# 源文件
button
# 编译到浏览器
uni-button
::after
# 编译到小程序
button
::after # 这个是由微信注入
自定义组件
自定义组件DOM结构(251002)
浏览器和微信小程序编译后的DOM结构有区别,需要注意样式的使用可能会引起兼容性问题
# 源文件
# components/simple-demo/simple-demo.vue
view
# 编译到浏览器
uni-view data-v-xxx
# 编译到微信开发者工具
components/simple-demo/simple-demo class=data-v-xxx
#shadow-root
view
# 编译到微信小程序
simple-demo class=data-v-xxx ul="xxx" uP=undefined
Shadow Root
view
自定义组件根节点样式(251011)
自定义组件上的class在浏览器环境中会被编译到组件的根节点上,微信小程序环境中会被编译到新创建的组件节点上,uniapp暂不支持虚拟化这个组件节点
需要由外部控制自定义组件根节点样式的场景下,需要显式声明一个rootClass属性,避免样式冲突
# 源文件
# components/simple-demo/simple-demo.vue
view.example
# 编译到浏览器
uni-view.example
# 编译到微信开发者工具
components/simple-demo/simple-demo.example
#shadow-root
view
# 编译到微信小程序
simple-demo.example
Shadow Root
view
参考:
vue语法
App.vue(251006)
App.vue中的template模块无论是在小程序环境,还是在浏览器环境,会被忽略,不会被构建到page中渲染
注入全局组件只能通过自定义vite插件实现
全局函数
getCurrentPages在小程序环境下不支持options选项(251012)
想要实现多端能用的useQuery逻辑,目前只能通过页面的onLoad事件实现
参考:
第3方依赖
weapp-tailwindcss/vite(251012)
.py,.px编译后浏览器和小程序环境语法不一致,需要注意文字竖向书写时的兼容问题
# 源代码
.py-2
# 编译到浏览器环境
.py-2 {
padding-block: calc(var(--spacing) * 2)
}
# 编译到小程序环境
.py-2 {
padding-top: 8rpx;
padding-bottom: 8rpx;
}
微信小程序
supportedMaterials路径配置
path中不要包含weixin这个单词,否则会页面白屏
uni-app
原生标签
input元素编译后的结构(251002)
浏览器和微信小程序编译后的DOM结构有区别,需要注意样式的使用可能会引起兼容性问题
# 源文件
input
# 编译到浏览器
uni-input
div.uni-input-wrapper
div.uni-input-placeholder
input.uni-input-input
# 编译到微信小程序
input
input元素的align-items属性(251008)
当给input元素添加display:flex; align-items: center;属性后,微信开发者工具/安卓小程序和苹果小程序显示不一致,前者的palceholder并未垂直居中,而是靠顶部对齐,后者则不受影响。
最好是不要给input元素设置flex相关属性,避免兼容性问题
# 微信小程序开发者工具agent
userAgent: "wechatdevtools desktopapp appservice port/50966 token/e995b79e6bfb4535967abddb723dda7a runtime/2 sessionid/323 MicroMessenger"
# 安卓小程序agent
UA: Mozilla/5.0 (Linux; Android 13; ANY-AN00 Build/HONORANY-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380215 MMWEBSDK/20250804 MMWEBID/5667 MicroMessenger/8.0.63.2920(0x28003F3C) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android
# 苹果小程序agent
UA: Mozilla/5.0 (iPhone; CPU iPhone OS 18_6_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.64(0x18004028) NetType/WIFI Language/zh_CN MiniProgramEnv/iOS
button元素编译后的结构(251012)
浏览器和小程序环境编译后的标签名不一致,需要注意可访问性以及样式兼容性的问题
- tailwindcss中的disabled状态会失效,因为uni-button没有disabled属性
# 源文件
button
# 编译到浏览器
uni-button
::after
# 编译到小程序
button
::after # 这个是由微信注入
自定义组件
自定义组件DOM结构(251002)
浏览器和微信小程序编译后的DOM结构有区别,需要注意样式的使用可能会引起兼容性问题
# 源文件
# components/simple-demo/simple-demo.vue
view
# 编译到浏览器
uni-view data-v-xxx
# 编译到微信开发者工具
components/simple-demo/simple-demo class=data-v-xxx
#shadow-root
view
# 编译到微信小程序
simple-demo class=data-v-xxx ul="xxx" uP=undefined
Shadow Root
view
自定义组件根节点样式(251011)
自定义组件上的class在浏览器环境中会被编译到组件的根节点上,微信小程序环境中会被编译到新创建的组件节点上,uniapp暂不支持虚拟化这个组件节点
需要由外部控制自定义组件根节点样式的场景下,需要显式声明一个rootClass属性,避免样式冲突
# 源文件
# components/simple-demo/simple-demo.vue
view.example
# 编译到浏览器
uni-view.example
# 编译到微信开发者工具
components/simple-demo/simple-demo.example
#shadow-root
view
# 编译到微信小程序
simple-demo.example
Shadow Root
view
参考:
vue语法
App.vue(251006)
App.vue中的template模块无论是在小程序环境,还是在浏览器环境,会被忽略,不会被构建到page中渲染
注入全局组件只能通过自定义vite插件实现
全局函数
getCurrentPages在小程序环境下不支持options选项(251012)
想要实现多端能用的useQuery逻辑,目前只能通过页面的onLoad事件实现
参考:
第3方依赖
weapp-tailwindcss/vite(251012)
.py,.px编译后浏览器和小程序环境语法不一致,需要注意文字竖向书写时的兼容问题
# 源代码
.py-2
# 编译到浏览器环境
.py-2 {
padding-block: calc(var(--spacing) * 2)
}
# 编译到小程序环境
.py-2 {
padding-top: 8rpx;
padding-bottom: 8rpx;
}
微信小程序
supportedMaterials路径配置
path中不要包含weixin这个单词,否则会页面白屏
收起阅读 »原创vue3.5+vite7.1+electron38.1桌面客户端后台系统admin模板
vue3-electron38-admin:基于vite7.0+vue3 setup+electron38+pinia3+element-plus+mockjs+echarts等技术构建的桌面电脑端admin后台系统。支持4种常用布局模板,支持vue-i18n多语言、标签栏路由,集合了图表、表格、表单、列表、编辑器等功能。
使用技术
- 前端技术栈:vite^7.1.7+vue^3.5.21+vue-router^4.5.1
- 跨平台框架:electron^38.1.2
- 组件库:element-plus^2.11.3
- 状态管理:pinia^3.0.3
- 国际化方案:vue-i18n^11.1.12
- 图表组件:echarts^6.0.0
- markdown编辑器:md-editor-v3^6.0.1
- 模拟数据:mockjs^1.1.0
- 打包工具:electron-builder^24.13.3
- electron+vite整合插件:vite-plugin-electron^0.29.0
项目结构目录
使用最新跨平台技术Electron38.x结合Vite7.x创建项目模板。
electron38-viteadmin桌面端后台管理系统已经同步到我的原创作品铺。
Electron38+Vue3+ElementPlus桌面端后台管理系统
热文推荐
vite7-webos网页版os管理|Vue3+Vite7+ArcoDesign搭建pc端os后台系统
Electron38-Wechat电脑端聊天|vite7+electron38仿微信桌面端聊天系统
uniapp-vue3-os手机oa系统|uni-app+vue3跨三端os后台管理模板
最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】
Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序
vue3-electron38-admin:基于vite7.0+vue3 setup+electron38+pinia3+element-plus+mockjs+echarts等技术构建的桌面电脑端admin后台系统。支持4种常用布局模板,支持vue-i18n多语言、标签栏路由,集合了图表、表格、表单、列表、编辑器等功能。
使用技术
- 前端技术栈:vite^7.1.7+vue^3.5.21+vue-router^4.5.1
- 跨平台框架:electron^38.1.2
- 组件库:element-plus^2.11.3
- 状态管理:pinia^3.0.3
- 国际化方案:vue-i18n^11.1.12
- 图表组件:echarts^6.0.0
- markdown编辑器:md-editor-v3^6.0.1
- 模拟数据:mockjs^1.1.0
- 打包工具:electron-builder^24.13.3
- electron+vite整合插件:vite-plugin-electron^0.29.0
项目结构目录
使用最新跨平台技术Electron38.x结合Vite7.x创建项目模板。
electron38-viteadmin桌面端后台管理系统已经同步到我的原创作品铺。
Electron38+Vue3+ElementPlus桌面端后台管理系统
热文推荐
vite7-webos网页版os管理|Vue3+Vite7+ArcoDesign搭建pc端os后台系统
Electron38-Wechat电脑端聊天|vite7+electron38仿微信桌面端聊天系统
uniapp-vue3-os手机oa系统|uni-app+vue3跨三端os后台管理模板
最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】
Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序
云账户计税方案调整公告
为落实国务院发布的《互联网平台企业涉税信息报送规定》和国家税务总局15、16号公告要求,云账户将于2025年10月1日切换为连续劳务服务方案。
2025年6月26日,国家税务总局发布《关于互联网平台企业报送涉税信息有关事项的公告》《关于互联网平台企业为平台内从业人员办理扣缴申报、代办申报若干事项的公告》及其解读共4份配套文件,将从业人员自互联网平台提供直播、推广等17项场景纳入劳务范畴,并规定互联网平台企业要按照累计预扣法计算并预扣预缴税款。也就是说,劳动者通过互联网平台提供服务且符合以上服务场景的,互联网平台企业或者是为平台上的劳动者进行款项结算的相关运营主体可以适用公告为其进行扣缴申报和代办申报。
云账户坚决落实党和国家保障行业健康发展的各项要求,推出连续劳务方案,方案的关键点和具体细节如下。
一、连续劳务下单月劳动者的个税计算方法
按照3%-45%的七级累进预扣率计算税款,并扣除每月5,000元的基本减除费用。相较一般劳务,劳动者每月实际到手收入更多,就单月来讲,对中低收入人群更友好。
(一)计算公式
本期应预扣预缴税额=(累计收入-累计费用^①-^累计免税收入-累计减除费用^②^-累计依法确定的其他扣除)×预扣率-速算扣除数-累计减免税额-累计已预扣预缴税额
其中:①累计费用,按累计收入乘以20%计算;②累计减除费用,按照5,000元/月乘以纳税人当年截至本月在本互联网平台企业连续取得劳务报酬的月份数计算。
(二)举例
张某从6月份开始在A平台取得劳务报酬,8月和9月未取得劳务报酬所得,无任何专项扣除费用。
| 月份 | 月收入金额 | 当期预扣预缴应纳税额 |
|---|---|---|
| 6月 | 24,000元 | [24,000×(1-20%)-5,000]×3%=426元;累计预扣预缴应纳税所得额未超过36,000元,预扣率3%,速算扣除数0。 |
| 7月 | 27,500元 | [(24,000+27,500)×(1-20%)-5,000×2]×3%-426=510元; |
| 8-9月 | 0 | 未取得劳务报酬所得,10月重新累计计算 |
| 10月 | 27,200元 | [27,200×(1-20%)-5,000]×3%=502.8元; |
| 11月 | 26,000元 | [(27,200+26,000)×(1-20%)-5,000×2]×3%-502.8=474元; |
| 12月 | 28,000元 | [(27,200+26,000+28,000)×(1-20%)-5,000×3]×10%-2,520-502.8-474=1,499.2元; 累计预扣预缴应纳税所得额超过36,000元,进入预扣率10%档次,速算扣除数2,520元。 |
| 合计 | 132,700元 | 426+510+502.8+474+1499.2=3,412元 |
二、多来源收入合并计税与汇算清缴
除通过云账户为企业提供服务获取劳务报酬外,若劳动者还自其他多处获取工资薪金或劳务报酬,则每月每处会为该劳动者单独计算、单独预缴个税金额。最终,在劳动者次年自行办理汇算清缴时,"个人所得税"App会将其自所有平台取得的收入汇总、合并计算,得出其实际应缴个税。
汇算清缴中的实际应缴个税,和单次预缴个税总金额之间可能会有差额,会涉及到退补税。比如,有的专项附加扣除仅在汇算清缴时申报,算下来劳动者全年多交税了,汇算清缴时就会退税;又如,因为同一身份证号每年只能扣除一次6万元减除费用,多处收入会多次扣除6万元/年的减除费用,算下来劳动者全年少交税了,汇算清缴时就需要补税。但总体而言,相同收入水平下连续劳务的劳动者完成汇算清缴后,与一般劳务下的劳动者全年到手收入差不多,但相较于一般劳务,连续劳务预扣预缴的税率相对较低,并且有基本减除费用,劳动者每月到手收入更多,现金流更加充足。
劳动者在次年6月30日前自行登录"个人所得税"App办理汇算清缴,云账户主动提供申报办理操作指南、客服咨询等服务,帮助劳动者解决问题并全程辅助其完成办理。
三、需劳动者配合事项
按照规定,自2025年10月1日开始,劳动者从平台获得的收入需要按劳务报酬所得申报纳税,云账户按照累计预扣法计算并预扣预缴税款,同时按照规定需要对劳动者身份进行实名验证,需劳动者配合重新签署合作协议、进行人脸识别实名验证。云账户App支持劳动者一站式完成协议签署和实名认证,同时在云账户App上也可以进行劳务报酬税费测算,遇到收入纳税等各类业务问题可以直接咨询云账户24小时人工客服热线(含法定节假日):400-6565-739。
为落实国务院发布的《互联网平台企业涉税信息报送规定》和国家税务总局15、16号公告要求,云账户将于2025年10月1日切换为连续劳务服务方案。
2025年6月26日,国家税务总局发布《关于互联网平台企业报送涉税信息有关事项的公告》《关于互联网平台企业为平台内从业人员办理扣缴申报、代办申报若干事项的公告》及其解读共4份配套文件,将从业人员自互联网平台提供直播、推广等17项场景纳入劳务范畴,并规定互联网平台企业要按照累计预扣法计算并预扣预缴税款。也就是说,劳动者通过互联网平台提供服务且符合以上服务场景的,互联网平台企业或者是为平台上的劳动者进行款项结算的相关运营主体可以适用公告为其进行扣缴申报和代办申报。
云账户坚决落实党和国家保障行业健康发展的各项要求,推出连续劳务方案,方案的关键点和具体细节如下。
一、连续劳务下单月劳动者的个税计算方法
按照3%-45%的七级累进预扣率计算税款,并扣除每月5,000元的基本减除费用。相较一般劳务,劳动者每月实际到手收入更多,就单月来讲,对中低收入人群更友好。
(一)计算公式
本期应预扣预缴税额=(累计收入-累计费用^①-^累计免税收入-累计减除费用^②^-累计依法确定的其他扣除)×预扣率-速算扣除数-累计减免税额-累计已预扣预缴税额
其中:①累计费用,按累计收入乘以20%计算;②累计减除费用,按照5,000元/月乘以纳税人当年截至本月在本互联网平台企业连续取得劳务报酬的月份数计算。
(二)举例
张某从6月份开始在A平台取得劳务报酬,8月和9月未取得劳务报酬所得,无任何专项扣除费用。
| 月份 | 月收入金额 | 当期预扣预缴应纳税额 |
|---|---|---|
| 6月 | 24,000元 | [24,000×(1-20%)-5,000]×3%=426元;累计预扣预缴应纳税所得额未超过36,000元,预扣率3%,速算扣除数0。 |
| 7月 | 27,500元 | [(24,000+27,500)×(1-20%)-5,000×2]×3%-426=510元; |
| 8-9月 | 0 | 未取得劳务报酬所得,10月重新累计计算 |
| 10月 | 27,200元 | [27,200×(1-20%)-5,000]×3%=502.8元; |
| 11月 | 26,000元 | [(27,200+26,000)×(1-20%)-5,000×2]×3%-502.8=474元; |
| 12月 | 28,000元 | [(27,200+26,000+28,000)×(1-20%)-5,000×3]×10%-2,520-502.8-474=1,499.2元; 累计预扣预缴应纳税所得额超过36,000元,进入预扣率10%档次,速算扣除数2,520元。 |
| 合计 | 132,700元 | 426+510+502.8+474+1499.2=3,412元 |
二、多来源收入合并计税与汇算清缴
除通过云账户为企业提供服务获取劳务报酬外,若劳动者还自其他多处获取工资薪金或劳务报酬,则每月每处会为该劳动者单独计算、单独预缴个税金额。最终,在劳动者次年自行办理汇算清缴时,"个人所得税"App会将其自所有平台取得的收入汇总、合并计算,得出其实际应缴个税。
汇算清缴中的实际应缴个税,和单次预缴个税总金额之间可能会有差额,会涉及到退补税。比如,有的专项附加扣除仅在汇算清缴时申报,算下来劳动者全年多交税了,汇算清缴时就会退税;又如,因为同一身份证号每年只能扣除一次6万元减除费用,多处收入会多次扣除6万元/年的减除费用,算下来劳动者全年少交税了,汇算清缴时就需要补税。但总体而言,相同收入水平下连续劳务的劳动者完成汇算清缴后,与一般劳务下的劳动者全年到手收入差不多,但相较于一般劳务,连续劳务预扣预缴的税率相对较低,并且有基本减除费用,劳动者每月到手收入更多,现金流更加充足。
劳动者在次年6月30日前自行登录"个人所得税"App办理汇算清缴,云账户主动提供申报办理操作指南、客服咨询等服务,帮助劳动者解决问题并全程辅助其完成办理。
三、需劳动者配合事项
按照规定,自2025年10月1日开始,劳动者从平台获得的收入需要按劳务报酬所得申报纳税,云账户按照累计预扣法计算并预扣预缴税款,同时按照规定需要对劳动者身份进行实名验证,需劳动者配合重新签署合作协议、进行人脸识别实名验证。云账户App支持劳动者一站式完成协议签署和实名认证,同时在云账户App上也可以进行劳务报酬税费测算,遇到收入纳税等各类业务问题可以直接咨询云账户24小时人工客服热线(含法定节假日):400-6565-739。
收起阅读 »iOS 框架全解析,原生框架与跨平台框架对比、开发应用打包与 App Store 上架实战经验
'''在移动互联网开发中,iOS 框架 是构建应用的核心。无论是使用 原生开发框架(UIKit、SwiftUI 等),还是选择 跨平台框架(uni-app、Flutter、React Native 等),开发者最终都要面临 应用打包、ipa 文件上传、TestFlight 测试与 App Store 上架 的完整流程。
本文将全面解析 iOS 框架的选择与实践,并结合实战经验,介绍如何将不同框架下的应用高效完成发布。
一、iOS 原生框架
- UIKit
- 传统 iOS UI 框架,基于 Storyboard 或纯代码开发。
- 灵活度高,适合复杂交互。
- SwiftUI
- 苹果推出的声明式 UI 框架。
- 开发效率高,代码简洁,适合新项目和快速迭代。
- Core Data / Realm
- 数据持久化框架。Core Data 为官方支持,Realm 更轻量。
优势:性能最佳、审核通过率高、与系统深度集成。
劣势:开发周期较长,对 Mac 环境依赖强。
二、跨平台 iOS 框架
- uni-app
- 一套代码多端运行(iOS、Android、Web)。
- HBuilderX 云打包支持,免 Mac 生成 ipa 文件。
- Flutter
- Google 出品,UI 渲染接近原生。
- 适合高 UI 要求的应用。
- React Native
- Facebook 推出,基于 JavaScript。
- 社区活跃,生态完善。
优势:开发效率高、跨平台支持好、适合中小团队。
劣势:性能略逊于原生,App Store 审核时若功能单一,可能被认定为套壳应用。
三、iOS 框架对比表
| 框架类型 | 框架名称 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| 原生框架 | UIKit、SwiftUI | 性能最佳、审核通过率高 | 学习成本高、依赖 Mac | 大型应用、追求体验 |
| 跨平台框架 | uni-app | 一套代码多端运行、云打包 | 原生性能有限 | 快速上线、多端兼容 |
| 跨平台框架 | Flutter | 接近原生性能、UI 强大 | 包体大 | 电商、内容型应用 |
| 跨平台框架 | React Native | 社区活跃、生态完善 | 性能略弱 | 迭代快的产品 |
四、iOS 框架与应用打包流程
- Xcode 打包(原生框架)
- 使用 Archive 功能生成 ipa 文件。
- HBuilderX 云打包(uni-app)
- 上传证书与描述文件,自动生成 ipa 文件。
- Flutter/React Native 打包
- 编译项目后仍需在 Xcode 中打包。
实战经验:跨平台框架适合快速上线,但对于需要长期维护和高性能的项目,原生框架更优。
五、ipa 文件上传:框架选择后的必经之路
生成 ipa 文件后,必须上传至 App Store Connect。
常见上传工具
- Xcode 上传:官方方式,适合个人开发者。
- Transporter App:支持大文件上传与断点续传。
- Appuploader:跨平台支持 Windows/Linux,免 Mac 上传 ipa 文件。
- Fastlane:命令行工具,适合团队 CI/CD 自动化。
推荐搭配:
- 独立开发者:Xcode + Transporter。
- 团队开发:Fastlane + Appuploader。
六、TestFlight 测试:iOS 框架下的分发必备环节
- Ad Hoc 分发:限制 100 台设备,适合小范围内测。
- TestFlight 内测:最多 25 名团队成员,适合开发调试。
- TestFlight 外测:最多 10,000 用户,适合大规模公测。
- 第三方分发平台:如蒲公英、Fir.im,便于快速测试。
七、App Store 审核与 iOS 框架的关系
苹果审核严格,以下几类应用更容易被驳回:
- 套壳应用:仅封装 H5 页面,缺少原生交互。
- 功能不完整:存在 Bug 或体验不足。
- 权限说明缺失:未在 Info.plist 文件中写明用途。
- 素材不足:截图、关键词、多语言描述不全。
审核优化建议
- 功能完整,避免“半成品”提交。
- 使用 Appuploader 批量上传截图,节省时间。
- 在 Info.plist 文件中明确写清权限用途。
- 准备隐私政策,避免数据合规问题。
八、实战案例:团队的 iOS 框架选择与上架经验
某创业团队开发了一款在线教育应用:
- 前端框架选择 uni-app,后端使用 Node.js,部分高性能功能由 Swift 开发。
- 证书由运维在 Windows 上通过 Appuploader 生成。
- 开发人员用 HBuilderX 云打包生成 ipa 文件。
- 测试团队通过 Transporter 上传至 TestFlight。
- 产品经理配置 App Store Connect 素材,提交审核。
- 应用审核一次性通过,顺利上架 App Store。
九、经验总结
- 原生框架性能最佳,跨平台框架开发效率高,需根据项目特点选择。
- 打包方式多样:Xcode 本地打包稳定,HBuilderX 云打包高效。
- ipa 文件上传工具灵活组合,可根据团队环境选择。
- 测试分发是关键,能显著降低上线风险。
- 审核环节准备充分,功能、素材、权限说明必须齐全。
iOS 框架 的选择决定了应用的开发效率与用户体验。无论选择 UIKit、SwiftUI 等原生框架,还是 uni-app、Flutter、React Native 等跨平台框架,开发者最终都要经历 应用打包、ipa 上传、TestFlight 测试与 App Store 审核 的完整流程。
合理利用 Xcode、Transporter、Appuploader、Fastlane、HBuilderX 等工具,可以帮助开发者顺利完成从开发到上架的全过程。'''
'''在移动互联网开发中,iOS 框架 是构建应用的核心。无论是使用 原生开发框架(UIKit、SwiftUI 等),还是选择 跨平台框架(uni-app、Flutter、React Native 等),开发者最终都要面临 应用打包、ipa 文件上传、TestFlight 测试与 App Store 上架 的完整流程。
本文将全面解析 iOS 框架的选择与实践,并结合实战经验,介绍如何将不同框架下的应用高效完成发布。
一、iOS 原生框架
- UIKit
- 传统 iOS UI 框架,基于 Storyboard 或纯代码开发。
- 灵活度高,适合复杂交互。
- SwiftUI
- 苹果推出的声明式 UI 框架。
- 开发效率高,代码简洁,适合新项目和快速迭代。
- Core Data / Realm
- 数据持久化框架。Core Data 为官方支持,Realm 更轻量。
优势:性能最佳、审核通过率高、与系统深度集成。
劣势:开发周期较长,对 Mac 环境依赖强。
二、跨平台 iOS 框架
- uni-app
- 一套代码多端运行(iOS、Android、Web)。
- HBuilderX 云打包支持,免 Mac 生成 ipa 文件。
- Flutter
- Google 出品,UI 渲染接近原生。
- 适合高 UI 要求的应用。
- React Native
- Facebook 推出,基于 JavaScript。
- 社区活跃,生态完善。
优势:开发效率高、跨平台支持好、适合中小团队。
劣势:性能略逊于原生,App Store 审核时若功能单一,可能被认定为套壳应用。
三、iOS 框架对比表
| 框架类型 | 框架名称 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| 原生框架 | UIKit、SwiftUI | 性能最佳、审核通过率高 | 学习成本高、依赖 Mac | 大型应用、追求体验 |
| 跨平台框架 | uni-app | 一套代码多端运行、云打包 | 原生性能有限 | 快速上线、多端兼容 |
| 跨平台框架 | Flutter | 接近原生性能、UI 强大 | 包体大 | 电商、内容型应用 |
| 跨平台框架 | React Native | 社区活跃、生态完善 | 性能略弱 | 迭代快的产品 |
四、iOS 框架与应用打包流程
- Xcode 打包(原生框架)
- 使用 Archive 功能生成 ipa 文件。
- HBuilderX 云打包(uni-app)
- 上传证书与描述文件,自动生成 ipa 文件。
- Flutter/React Native 打包
- 编译项目后仍需在 Xcode 中打包。
实战经验:跨平台框架适合快速上线,但对于需要长期维护和高性能的项目,原生框架更优。
五、ipa 文件上传:框架选择后的必经之路
生成 ipa 文件后,必须上传至 App Store Connect。
常见上传工具
- Xcode 上传:官方方式,适合个人开发者。
- Transporter App:支持大文件上传与断点续传。
- Appuploader:跨平台支持 Windows/Linux,免 Mac 上传 ipa 文件。
- Fastlane:命令行工具,适合团队 CI/CD 自动化。
推荐搭配:
- 独立开发者:Xcode + Transporter。
- 团队开发:Fastlane + Appuploader。
六、TestFlight 测试:iOS 框架下的分发必备环节
- Ad Hoc 分发:限制 100 台设备,适合小范围内测。
- TestFlight 内测:最多 25 名团队成员,适合开发调试。
- TestFlight 外测:最多 10,000 用户,适合大规模公测。
- 第三方分发平台:如蒲公英、Fir.im,便于快速测试。
七、App Store 审核与 iOS 框架的关系
苹果审核严格,以下几类应用更容易被驳回:
- 套壳应用:仅封装 H5 页面,缺少原生交互。
- 功能不完整:存在 Bug 或体验不足。
- 权限说明缺失:未在 Info.plist 文件中写明用途。
- 素材不足:截图、关键词、多语言描述不全。
审核优化建议
- 功能完整,避免“半成品”提交。
- 使用 Appuploader 批量上传截图,节省时间。
- 在 Info.plist 文件中明确写清权限用途。
- 准备隐私政策,避免数据合规问题。
八、实战案例:团队的 iOS 框架选择与上架经验
某创业团队开发了一款在线教育应用:
- 前端框架选择 uni-app,后端使用 Node.js,部分高性能功能由 Swift 开发。
- 证书由运维在 Windows 上通过 Appuploader 生成。
- 开发人员用 HBuilderX 云打包生成 ipa 文件。
- 测试团队通过 Transporter 上传至 TestFlight。
- 产品经理配置 App Store Connect 素材,提交审核。
- 应用审核一次性通过,顺利上架 App Store。
九、经验总结
- 原生框架性能最佳,跨平台框架开发效率高,需根据项目特点选择。
- 打包方式多样:Xcode 本地打包稳定,HBuilderX 云打包高效。
- ipa 文件上传工具灵活组合,可根据团队环境选择。
- 测试分发是关键,能显著降低上线风险。
- 审核环节准备充分,功能、素材、权限说明必须齐全。
iOS 框架 的选择决定了应用的开发效率与用户体验。无论选择 UIKit、SwiftUI 等原生框架,还是 uni-app、Flutter、React Native 等跨平台框架,开发者最终都要经历 应用打包、ipa 上传、TestFlight 测试与 App Store 审核 的完整流程。
合理利用 Xcode、Transporter、Appuploader、Fastlane、HBuilderX 等工具,可以帮助开发者顺利完成从开发到上架的全过程。'''





























