uniapp面试题

417 阅读3分钟

1.uniapp调用支付

  • 步骤

      1. 创建订单

        • 组织订单的信息对象
        • 发起请求创建订单
        • 得到服务器响应的“订单编号”
      2. 订单预支付

        • 发起请求获取订单的支付信息
        • 预付订单生成失败 提示
        • 得到订单支付相关的必要参数
        • let timeStamp = payInfo.timeStamp
          let nonceStr = payInfo.nonceStr
          let packageX = payInfo.package
          let signType = payInfo.signType
          let paySign = payInfo.paySign
          
      3. 发起微信支付

        • 调用 uni.requestPayment() 发起微信支付
        • uni.requestPayment({
              provider: 'wxpay',  //
              package: packageX,
              timeStamp: timeStamp,
              nonceStr: nonceStr,
              signType: signType,
              paySign: paySign,
              success(res) {
                  uni.$showMessage(res)
              },
              fail(err) {
                  uni.$showMessage(err.errMsg)
              }
          })
          
        • 未完成支付 提示
        • 完成了支付,进一步查询支付的结果
        • 检测到订单未支付 提示
        • 检测到订单支付完成 提示

2.微信小程序知识点

  • 微信小程序的主要文件

    • WXML——模板文件
    • JSON——配置/设置文件,如标题,tabbar,页面注册
    • WXSS——样式文件,样式可直接用 import 导入
    • JS——脚本逻辑文件,逻辑处理,网络请求
    • app.json——配置文件入口,整个小程序的全局配置
    • app.js——可以没有内容,可以在里边监听生命周期函数、声明全局变 量
    • app.wxss——全局配置样式文件
  • 传值方法

    • navigator 组件或 wx.navigator
    • 本地存储
    • app.js 中的全局对象
    • 自定义属性 data-xxx
  • 登录流程

    • 通过wx.login()获取用户的code判断用户是否授权读取用户信息——>调用wx.getUserInfo()自身后端调用微信服务器读取用户数据——>通过 wx.request()请求业务方服务器端把 appid,appsecret 和 code 一起发送到微信服务器——>微信服务器返回了 openid 及本次登录的会话密钥 session_key——>然后生成 session 并返回给小程序
  • 小程序内页面跳转

    • wx.navigateTo——>保留当前页面,跳转到应用内的某个非tabbar页面(参数必须为字符串)
    • wx.redirectTo——>关闭当前页面,跳转到应用内的某个非tabbar页面
    • wx.switchTab——>跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面, 路径后不能带参数
    • wx.navigateBack——>关闭当前页面,返回上一页面或多级页面
    • wx.reLaunch——>关闭所有页面,打开到应用内的某个页面
  • 小程序的生命周期

    • 应用的生命周期
    生命周期说明
    onLaunch小程序初始化完成时触发,全局只触发一次
    onShow小程序启动,或从后台进入前台显示时触发
    onHide小程序从前台进入后台时触发
    onError小程序发生脚本错误或 API 调用报错时触发
    • 页面的生命周期
    生命周期说明
    onShow生命周期回调—监听页面显示请求数据
    onReady生命周期回调—监听页面初次渲染完成获取页面元素(少用)
    onHide生命周期回调—监听页面隐藏终止任务,如定时器或者 播放音乐
    onUnload生命周期回调—监听页面卸载终止任务
    onLoad生命周期回调—监听页面加载发送请求获取数据
  • 小程序的组件通信

    • 父传子

      1. 在子组件的组件标签上通过自定义属性的形式绑定数据或字符串
      2. 在子组件中通过 properties 对象进行属性的接收即可。
    • 子传父

      1. 在 子 组 件 中 的 methods 对 象 中 定 义 方 法 , 在 方 法 中 通 过 this.triggerEvent({})方法,完成事件触发
      2. 在子组件标签上绑定(例:bind:在 this.triggerEvent 定义的事件名称=" 回调函数"),在 this.triggerEvent 定义的事情名称,最后在回调函数中完成逻辑 处理
  • 小程序设置背景图不展示

    • 本地图片转换为base64格式
    • 使用行内样式
    • image组件替换背景图片,定位实现背景图片效果