HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

UniApp 项目鸿蒙上线

鸿蒙征文

介绍一下背景:本项目是uni cli搭建的项目,区分是不是uni cli项目看一下项目存不存在src文件夹就行,本文介绍内容都是基于uni cli项目的。
需求:

  1. uniapp项目需要打包鸿蒙上线App,本次调研是基于Mac环境,不涉及Windows。
  2. 第三方SDK插件对接UTS
    准备工作:
  3. 下载安装HBuilderX(最新版)
  4. DevEco Studio下载安装,鸿蒙模拟器安装(或通过真机来进行调试)
  5. Dcloud开发者中心注册账号
  6. 华为开发者联盟 AppGallery Connect 注册账号
  7. 调试证书/发布证书(需要和本项目鸿蒙App管理员要)
    鸿蒙App配置:
    manifest.json-鸿蒙App配置
    包名:uni.app.snsk.ydbz
    证书签名配置包括调试证书和发布证书,调试证书相关配置如下图所示

应用包名:Android端、iOS端、HarmonyOS端可能有自己定义的包名,只要在本端下做好统一即可。在HarmonyOS端我们用的包名是uni.app.snsk.ydbz,项目中的配置要和华为开发者联盟一致。
运行设备:需要启动虚拟机或USB连接鸿蒙手机以后才能检测到。
开发调试可以选择自动申请调试证书,也可以手动配置下边的私钥库文件及证书文件。点自动申请调试证书以后会登录华为开发者联盟,生产证书回填下边的私钥库文件和证书文件等。
不选择自动申请调试证书,也可以和本项目鸿蒙端的管理员要调试证书,然后手动选择文件。
私钥库文件是.p12结尾的文件
证书文件是.cer结尾的文件
签名描述文件是.p7p结尾的文件
管理员账号在申请调试证书的时候,需要选取证书请求文件(CSR),证书请求文件需要在DevEco Studio上申请,具体操作请参考生成证书请求文件。
下载签名描述文件前需要先通过UDID将设备注册到AGC设备列表,后续Profile中指定的调试设备将从此设备列表中选取。具体步骤:华为开发者联盟的“证书、APP ID和Profile”-设备-添加设备。
配置完成以后点击保存。
发布证书相关配置如下图所示

发布证书的配置参考调试证书即可,签名描述文件分调试和正式两个文件,私钥库文件和证书文件和调试是同一个文件。
图标配置
前景图和背景图标准

标准如下:
前景图是核心图形(如Logo)必须是透明底色的PNG
背景图纯色背景(如纯白色)必须是不透明的PNG
图标资源必须为分层资源(一张前景图和一张背景图)
图标资源尺寸必须为 1024*1024px
启动界面配置
启动界面背景色,根据项目需求填写,本项目为空
启动界面中部图标,推荐选择软件logo
模块配置
根据项目勾选,本项目未勾选
运行到鸿蒙
具体操作:运行-运行到手机或模拟器-运行到鸿蒙

勾选设备-点击运行,成功以后会显示如下信息

这个地方,本项目出现了好多编译错误,最终通过升级uniapp-cli解决
运行成功以后生成鸿蒙工程目录,用DevEco Studio打开即可,打开以后到项目结构如图:

  1. 在DevEco Studio中需要检查一下app.json5中的bundleName是不是我们的包名,改为包名即可
  2. 在DevEco Studio里配置调试证书

调试过程可以勾选自动生成证书,打正式包要选择正式的描述文件Profile file(*.p7p),该配置和HbuilderX中的配置大同小异。
OpenHarmony SDK配置

选择设备,可以是USB连接鸿蒙手机,或者在设备管理器中下载虚拟机。

点击右侧运行,鸿蒙app就运行到手机上了。

继续阅读 »

介绍一下背景:本项目是uni cli搭建的项目,区分是不是uni cli项目看一下项目存不存在src文件夹就行,本文介绍内容都是基于uni cli项目的。
需求:

  1. uniapp项目需要打包鸿蒙上线App,本次调研是基于Mac环境,不涉及Windows。
  2. 第三方SDK插件对接UTS
    准备工作:
  3. 下载安装HBuilderX(最新版)
  4. DevEco Studio下载安装,鸿蒙模拟器安装(或通过真机来进行调试)
  5. Dcloud开发者中心注册账号
  6. 华为开发者联盟 AppGallery Connect 注册账号
  7. 调试证书/发布证书(需要和本项目鸿蒙App管理员要)
    鸿蒙App配置:
    manifest.json-鸿蒙App配置
    包名:uni.app.snsk.ydbz
    证书签名配置包括调试证书和发布证书,调试证书相关配置如下图所示

应用包名:Android端、iOS端、HarmonyOS端可能有自己定义的包名,只要在本端下做好统一即可。在HarmonyOS端我们用的包名是uni.app.snsk.ydbz,项目中的配置要和华为开发者联盟一致。
运行设备:需要启动虚拟机或USB连接鸿蒙手机以后才能检测到。
开发调试可以选择自动申请调试证书,也可以手动配置下边的私钥库文件及证书文件。点自动申请调试证书以后会登录华为开发者联盟,生产证书回填下边的私钥库文件和证书文件等。
不选择自动申请调试证书,也可以和本项目鸿蒙端的管理员要调试证书,然后手动选择文件。
私钥库文件是.p12结尾的文件
证书文件是.cer结尾的文件
签名描述文件是.p7p结尾的文件
管理员账号在申请调试证书的时候,需要选取证书请求文件(CSR),证书请求文件需要在DevEco Studio上申请,具体操作请参考生成证书请求文件。
下载签名描述文件前需要先通过UDID将设备注册到AGC设备列表,后续Profile中指定的调试设备将从此设备列表中选取。具体步骤:华为开发者联盟的“证书、APP ID和Profile”-设备-添加设备。
配置完成以后点击保存。
发布证书相关配置如下图所示

发布证书的配置参考调试证书即可,签名描述文件分调试和正式两个文件,私钥库文件和证书文件和调试是同一个文件。
图标配置
前景图和背景图标准

标准如下:
前景图是核心图形(如Logo)必须是透明底色的PNG
背景图纯色背景(如纯白色)必须是不透明的PNG
图标资源必须为分层资源(一张前景图和一张背景图)
图标资源尺寸必须为 1024*1024px
启动界面配置
启动界面背景色,根据项目需求填写,本项目为空
启动界面中部图标,推荐选择软件logo
模块配置
根据项目勾选,本项目未勾选
运行到鸿蒙
具体操作:运行-运行到手机或模拟器-运行到鸿蒙

勾选设备-点击运行,成功以后会显示如下信息

这个地方,本项目出现了好多编译错误,最终通过升级uniapp-cli解决
运行成功以后生成鸿蒙工程目录,用DevEco Studio打开即可,打开以后到项目结构如图:

  1. 在DevEco Studio中需要检查一下app.json5中的bundleName是不是我们的包名,改为包名即可
  2. 在DevEco Studio里配置调试证书

调试过程可以勾选自动生成证书,打正式包要选择正式的描述文件Profile file(*.p7p),该配置和HbuilderX中的配置大同小异。
OpenHarmony SDK配置

选择设备,可以是USB连接鸿蒙手机,或者在设备管理器中下载虚拟机。

点击右侧运行,鸿蒙app就运行到手机上了。

收起阅读 »

4.76 web端报错 can't find module 'vue-router/dist/vue-router.esm-bundler.js' 的解决方案

web uniapp vue3

背景

近期有开发者反馈web端升级到 4.76 之后报错 can't find module 'vue-router/dist/vue-router.esm-bundler.js',这个是因为你可能是安装到了 4.6.0 版本的 vue- router,这个版本移除了 vue-router.esm-bundler.js 文件,此行为导致了开发环境和生产环境不能正常运行。github上有人反馈了这个问题 详见 https://github.com/vuejs/router/issues/2569

解决方案

如果你使用 npm,需要先删除 node_modules,再重新执行 npm install,检查node_modeuls下面的vue-router依赖是否是最新的 4.6.3 版本,这个版本恢复了 vue-router.esm-bundler.js 文件

继续阅读 »

背景

近期有开发者反馈web端升级到 4.76 之后报错 can't find module 'vue-router/dist/vue-router.esm-bundler.js',这个是因为你可能是安装到了 4.6.0 版本的 vue- router,这个版本移除了 vue-router.esm-bundler.js 文件,此行为导致了开发环境和生产环境不能正常运行。github上有人反馈了这个问题 详见 https://github.com/vuejs/router/issues/2569

解决方案

如果你使用 npm,需要先删除 node_modules,再重新执行 npm install,检查node_modeuls下面的vue-router依赖是否是最新的 4.6.3 版本,这个版本恢复了 vue-router.esm-bundler.js 文件

收起阅读 »

基于vue3.5+vite7+electron38.2实战电脑端os管理系统

vue3 vue.js

vue3-electron38-os:最新原创vite7.1+electron38.2+vue3 setup+pinia3+arcoDesign+echarts跨平台仿macOS/windows风格桌面os管理系统模板。自研可拖拽栅格布局结构、自定义JSON配置桌面菜单/Dock菜单。

使用技术

  • 跨平台框架:electron^38.2.0
  • 前端技术框架:vite^7.1.7+vue^3.5.21+vue-router^4.5.1
  • 组件库:@arco-design/web-vue^2.57.0 (字节前端vue3组件库)
  • 状态管理:pinia^3.0.3
  • 拖拽插件:sortablejs^1.15.6
  • 图表组件: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+vite7创建项目模板,vue3 setup语法开发。

electron-vue3-os桌面端os项目已经同步到我的原创作品集。
electron38+vue3+arco-design客户端os系统

热文推荐

electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统
Electron38-Wechat电脑端聊天|vite7+electron38仿微信桌面端聊天系统
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
最新版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-os手机oa系统|uni-app+vue3跨三端os后台管理模板
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

继续阅读 »

vue3-electron38-os:最新原创vite7.1+electron38.2+vue3 setup+pinia3+arcoDesign+echarts跨平台仿macOS/windows风格桌面os管理系统模板。自研可拖拽栅格布局结构、自定义JSON配置桌面菜单/Dock菜单。

使用技术

  • 跨平台框架:electron^38.2.0
  • 前端技术框架:vite^7.1.7+vue^3.5.21+vue-router^4.5.1
  • 组件库:@arco-design/web-vue^2.57.0 (字节前端vue3组件库)
  • 状态管理:pinia^3.0.3
  • 拖拽插件:sortablejs^1.15.6
  • 图表组件: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+vite7创建项目模板,vue3 setup语法开发。

electron-vue3-os桌面端os项目已经同步到我的原创作品集。
electron38+vue3+arco-design客户端os系统

热文推荐

electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统
Electron38-Wechat电脑端聊天|vite7+electron38仿微信桌面端聊天系统
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
最新版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-os手机oa系统|uni-app+vue3跨三端os后台管理模板
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

收起阅读 »

提个建议---插件 、 广告 等 所有的收益不足100不能体现

提个建议---插件 、 广告 等 所有的收益不足100不能体现,有效期时间长了,钱就没有了,这钱也是我们辛辛苦苦 赚的,好伤心。

解决方案一:
新增一个 账户充值功能 然后 凑够 100 能体现。

解决方案二:
到了有效期,提示我们,手动体现 到了 有效期 不足100也能体现

解决方案三:
账户余额不消失,不能体现,但可是用于支付 ,uniapp 等其他产品的支付也行 比如 unicloud 等。。。

等。。。。。

继续阅读 »

提个建议---插件 、 广告 等 所有的收益不足100不能体现,有效期时间长了,钱就没有了,这钱也是我们辛辛苦苦 赚的,好伤心。

解决方案一:
新增一个 账户充值功能 然后 凑够 100 能体现。

解决方案二:
到了有效期,提示我们,手动体现 到了 有效期 不足100也能体现

解决方案三:
账户余额不消失,不能体现,但可是用于支付 ,uniapp 等其他产品的支付也行 比如 unicloud 等。。。

等。。。。。

收起阅读 »

给大家分享一个接单/发单得小程序

uniapp原生插件 启动图片

小程序链接:

小程序://吖唏接单/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

证书 Apple证书 iOS证书

介绍内容:

一键检测iOS证书是否有效、是否被封或撤销

全面支持G3协议证书检测机制

支持IPA包内部证书验证功能

检测结果精准可靠,提升证书管理效率

以高亮方式显示证书状态,更直观易懂

显示掉签时间与证书类型,方便追踪与管理

https://cert.signstack.cc/

继续阅读 »

介绍内容:

一键检测iOS证书是否有效、是否被封或撤销

全面支持G3协议证书检测机制

支持IPA包内部证书验证功能

检测结果精准可靠,提升证书管理效率

以高亮方式显示证书状态,更直观易懂

显示掉签时间与证书类型,方便追踪与管理

https://cert.signstack.cc/

收起阅读 »

苹果IPA在线签名工具(支持Win/Mac)

签名 重签名 iOS证书 App云端打包 Apple证书 App打包 App离线打包 移动APP iOS打包

支持功能:
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-app uni-app-x 小程序

@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

收起阅读 »

个人全职接单,时间充裕,诚心全职开发,期待合作!!!

编译 uniapp uni_app项目 招聘与外包 外包接单 外包

全栈经验,这方面的软件开发的比较多,有相关案例,时间充裕,诚心合作,个人全职工作。uniapp 做过很多,十分熟练,有需要请联系我 V:zwwz123123
同行勿扰谢谢.

全栈经验,这方面的软件开发的比较多,有相关案例,时间充裕,诚心合作,个人全职工作。uniapp 做过很多,十分熟练,有需要请联系我 V:zwwz123123
同行勿扰谢谢.