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

quickapp_快应用_系统接口应用

系统接口

在项目中使用到的接口都需要在配置文件manifest.json中声明,不然会报如下警告

[WARN] 请在 manifest.json 文件里声明项目代码中用到的接口: system.storage, service.account, system.package, system.webview
[1]检查某app是否在手机上安装
  • 官方文档:官方文档
  • 接口: system.package的hasInstalled方法
  • 作用:检查某app是否在已经在手机上安装
  • 使用
    • [1] 接口声明- 在配置文件manifest.json中声明
      "features": [{"name": "system.package" },
      ]
      
    • [2] 在需要的地方导入并使用
        import pkg from '@system.package'
      
      pkg.hasInstalled({package: 'app包名',success: function(data) {console.log(`handling success: ${data.result}`)// result为true表示app已安装// result为false表示app未安装},fail: function(data, code) {console.log(`handling fail, code = ${code}`)}
      })
      
[2]下载应用
  • 官方文档:官方文档
  • 接口: system.package的install方法
  • 作用:下载某app
  • 使用
    • [1] 接口声明- 在配置文件manifest.json中声明
      "features": [{"name": "system.package" },
      ]
      
    • [2] 在需要的地方导入并使用
      import pkg from '@system.package'
      
      pkg.install({package: '应用包名',success: function(data) {console.log(`handling success: ${data.result}`)// result:true 下载成功// result: false 下载失败},fail: function(data, code) {console.log(`handling fail, code = ${code}`)}
      })
      
[3] 检查当前是否有桌面应用
  • 官方文档:官方文档
  • 接口: system.shortcut的hasInstalled方法
  • 作用:检查某app当前是否有桌面应用
  • 使用
    • [1] 接口声明- 在配置文件manifest.json中声明
      "features": [{"name": "system.shortcut" },
      ]
      
    • [2] 在需要的地方导入并使用
      import shortcut from '@system.shortcut'
      
      shortcut.hasInstalled({success: function(res) {// res 为true表示已创建图标// res weifalse表示未创建图标}
      })
      
[4] 添加桌面应用
  • 官方文档:官方文档
  • 接口: system.shortcut的install方法
  • 作用:为某app添加桌面应用
  • 使用
    • [1] 接口声明- 在配置文件manifest.json中声明
      "features": [{"name": "system.shortcut" },
      ]
      
    • [2] 在需要的地方导入并使用
      import shortcut from '@system.shortcut'
      
      shortcut.install({success: function() {console.log('handling success') // 创建成功},fail: function(data, code) {// 创建失败,请在设置中开启创建桌面应用权限console.log(`handling fail, code = ${code}, errorMsg=${data}`)}
      })
      
[5]数据存储

本地数据存储

[6]弹框
  • 官方文档:官方文档
  • 弹出框一共有三种
    • toast提示框-showToast
    • dialog对话框-showDialog
    • 列表框-showContextMenu
[7]接口
  • 官方文档:官方文档
  • 请求封装
    import { fetch } from "@system.fetch";
    import { getStorage, setStorage } from './storage'
    const api = 'xxx' const hasToken = async () => {const token = await getStorage('token')return !!token
    }// 将与后端约定的数据统一添加在请求头中
    const getHeaders = async () => {const token = await getStorage('token')return {token,....}
    }export const httpGet = async (url, data = {}, header = {}) => {await hasToken()const headers = await getHeaders()return new Promise((resolve, reject) => {fetch({url: api + url,data,method: 'GET',responseType: 'json',header: {...headers,...header},success(data) {resolve(data.data)},fail(err) {reject(err)}})})
    }export const httpPost = async (url, data = {}, header = {}) => {await hasToken()const headers = await getHeaders()return new Promise((resolve, reject) => {fetch({url: api + url,data,method: 'POST',responseType: 'json',header: {...header,...headers},success(data) {if (data.data.status === 1004) {router.replace({uri: '/pages/Login'})} else {resolve(data.data)}},fail(err) {reject(err)}})})
    }export default {httpGet,httpPost
    }
  • 请求头添加设备信息
[8]获取设备信息

获取设备信息

  • 屏幕高度
  • 设备信息用于前后端对接
[9]获取上下文app

应用上下文app

  • 应用版本号
http://www.lryc.cn/news/255681.html

相关文章:

  • sqlmap400报错问题解决
  • 【S32DS报错】-2-提示Error while launching command:arm-none-eabi-gdb –version错误
  • Windows核心编程 HOOK
  • P4 Qt如何添加qss样式表文件和添加图片资源
  • 【华为OD题库-085】路灯照明II-Java
  • 附录1、vuepress中的Markdown语法
  • 【matlab程序】matlab画螺旋图|旋转图
  • 计算三位数每位上数字的和
  • Gavin Wood:财库保守主义偏离了初心,应探索 Fellowship 等更有效的资金部署机制
  • Linux: sudo: unable to execute /opt/sbin/adm: No such file or directory
  • 一文详解Java单元测试Junit
  • 进制 + 原码,反码,补码
  • 2024年网络安全行业前景和技术自学
  • cocos 关于多个摄像机,动态添加节点的显示问题,需要动态修改layer。(跟随摄像机滚动)(神坑官网也不说明一下)
  • freeswitch编译mod_av支持webrtc MCU通话
  • K8s 入门指南(一):单节点集群环境搭建
  • python socket编程6 - 使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的例子
  • centos上安装并持久化配置LVS
  • 多线程并发Ping脚本
  • SpringBoot Seata 死锁问题排查
  • 文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑两阶段鲁棒优化配置的多微网合作博弈》
  • Redis常见类型
  • 深入了解数据库锁:类型、应用和最佳实践
  • python3.5安装教程及环境配置,python3.7.2安装与配置
  • ubuntu安装tomcat并配置前端项目
  • GeoPandas初体验:它是什么,我用它展示一下shp矢量数据
  • Python-滑雪大冒险【附源码】
  • Linux---日志管理
  • Java高级技术-单元测试
  • springboot集成邮箱验证功能