小程序app.js小结

小程序app.js

//app.js
import {
  ApiUrl
} from ‘utils/apiurl.js‘;
import {
  httpReq
} from ‘utils/http.js‘;
//以上两个文件为封装的请求数据的接口,文件内容我会放在最后,不用这俩文件的可以安装wx.request(微信开发文档提供方法来请求),这两个文件也是在原方法上做了改动但效果一样的。

App({
  onLaunch: function () {
    var logs = wx.getStorageSync(‘logs‘) || []//
    logs.unshift(Date.now())

    //unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。
    wx.setStorageSync(‘logs‘, logs) // 根据时间存储log

    // 登录

    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 token,openId, sessionKey, unionId(都可以获取,和后端商议选择其中需要的获取并使用)
        if(res.code) {
          //发起网络请求

          httpReq({
            header: {//此处为示例header内容,写自己项目的即可
              ‘Content-Type‘: ‘application/json‘,
              ‘Accept‘: ‘application/json‘
            },
            method: ‘GET‘,
            // url: ‘https://api.weixin.qq.com/sns/jscode2session?appid=wxf7a9fda47682a9a6&secret=cc74bba5adfa5e077038c5cb8baca13c&js_code=‘+ res.code+‘&grant_type=authorization_code‘

            url: ApiUrl.phplist + ‘index/gettoken?code=‘ + res.code,

            //上面第一个url为前端直接绕过后端去微信请求拿到openid和session_key,主要是当时拿不到数据和后端争论故自己直接拿证明自己前端没有错,你们还是正常用下面的后端请求到的就可以了。

          }).then((res) =>{
            wx.setStorageSync(res.data.lists.token)

            //此处后端要求我们拿token在其他页面使用说是为了安全,他的意思是说我刚刚自己绕过他去微信那边直接拿了openid和session_key不安全,我?????,只能现在按他的做了,其他页面需要openid时再传给他token换取。

          })
        } else {
          console.log(‘登录失败‘ + res.errMsg)
        }
      }
    })

    // 获取用户信息

    wx.getSetting({
      success: res => {
        if (res.authSetting[‘scope.userInfo‘]) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

          wx.getUserInfo({
            success: res => {
              this.globalData.userInfo = res.userInfo

              // 此处是可以直接获取到你微信个人账号信息的,就是图像,昵称,性别,省份,城市等之类的,如果是电话,具体地址等私密信息是要额外授权才能获取的,由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况

              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            },
            fail: function(res) {}
          })
        } else {
          wx.showModal({
            title: ‘警告通知‘,
            content: ‘您点击了拒绝授权,将无法正常显示个人信息,在设置中确定重新获取授权。‘,
          })
        }
      },
      fail: function(res) {}
    })
  },
  globalData: {
    userInfo: null,
  }
})

以上仅为小女子做项目时的一些理解与记录,初次接触小程序,仅供大家参考,欢迎各位大佬指正,代码各种问题都可以留言联系我,你主动,我们才有故事。

apiurl.js

let ApiUrl = {};

// php列表

ApiUrl.phplist = ‘http://www.ylb.com/api/‘;

// 详细信息

ApiUrl.detail = ApiUrl.phplist+‘/‘;

export {ApiUrl};

http.js

function httpReq(params = {}){
  let url = params.url || ‘http://www.ylb.com‘;
  let data = params.data || ‘‘;
  let header = params.header || {};
  let method = params.method || ‘GET‘;

  // 使用Promise来解决异步问题

  return new Promise((resolve, reject) => {

    // 发起网络请求

    wx.request({
      url,
      data,
      header,
      method,

      // 成功

      success: resolve,

      // 失败

      fail: reject
    })
  })
}

// 导出模块

export {httpReq};

原文地址:https://www.cnblogs.com/sinceForever/p/11326355.html

时间: 2024-09-28 20:30:58

小程序app.js小结的相关文章

微信小程序APP生命周期

小程序APP生命周期需要先从app.js这个文件开始,App() 必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数 onLaunch----当小程序初始化完成时,会触发 onLaunch(全局只触发一次) onShow ----当小程序启动,或从后台进入前台显示,会触发 onShow onHide ----当小程序从前台进入后台,会触发 onHide onError ----当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并

《Nodejs开发加密货币》之七:入口程序app.js解读

入口程序app.js解读 发布本文时,比特币价格 ¥2873.95 / $443.95 .为什么一个凭空设计出来的加密货币如此受追捧?为什么微软.IBM等巨头纷纷进入?为什么尝试了解比特币的技术人员,都会被深深吸引?它到底有什么诱人之处?<Nodejs开发加密货币>,让我们一起探索其背后的密码. <Nodejs开发加密货币>,目的是提供加密货币(亿书币)的详尽开发文档,涉及到使用Nodejs开发产品的方方面面,从前端到后台.从服务器到客户端.从PC到移动.从IO密集型到计算密集型.

区块链红包小程序APP开发、红包系统开发、红包系统开发、红包系统开发。

红包系统开发,红包系统开发[蔡经理 136-1236-3414 微|电] .区块链红包小程序APP开发.红包系统开发.红包系统开发.红包系统开发. 本公司是专业软件开发公司,玩家勿扰喔谢谢!~ 企业如何利用微信红包玩出营销新花样? 1.用微信红包作为见面礼: 在中国这个人情社会中,从陌生到熟悉其实往往只要一个小小的馈赠,就好像两个不认识的男人碰在一起第一个动作肯定是掏烟,有事没事先点一根.那接下去的交流就变得非常顺畅. “微信红包”充当的角色就相当于你给刚认识的朋友的那一根烟.先通过一个事物进行

微信小程序-注册程序app.js

一.注册程序 App() 函数用来注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等. object参数署名: onLaunch:当小程序初始化完成后,触发onLaunch 只触发一次 onShow() :当小程序启动,或从后台进入前台显示,会触发 onShow onHide():当小程序从前台进入后台,会触发 onHide onError():当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 其他:开发者可以添加任意的函数或数据到

微信小程序 app注册小程序+page注册页面代码一

注册小程序代码:app.js //app.js App({ onLaunch: function(){ var log = wx.getStorageSync("logs") || [] log.unshift(Date.now()) wx.setStorageSync("logs", log) wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId } })

微信小程序app配置指南

//app.json页面 { //页面注册,有几个页面都要在pages里面注册 "pages":[ "pages/index/index", "pages/logs/logs", "pages/main/main", "pages/main1/main1", "pages/main2/main2", "pages/main3/main3", ], //上导航配置及ap

微信小程序 + mock.js 实现后台模拟及调试

一.创建小程序项目 mock.js 从 https://github.com/nuysoft/Mock/blob/refactoring/dist/mock.js 下载 api.js:配置模拟数据和后台接口数据,通过 DEBUG = true;//切换数据入口 let API_HOST = "http://xxx.com/xxx"; let DEBUG = true;//切换数据入口 var Mock = require('mock.js') function ajax(data =

小程序原生js获取用户权限

1.首先要有一个按钮 <view name="authorizemodal"> <view class="drawer_screen" wx:if="{{isauthorizeModal}}"> <view class="drawer_box fishqccenter phonechoosebox"> <view> <image style="width:90%;

共享链模式开发小程序app系统详解

使用会员卡进行促销方法来说是现代商家最为常见的促销手段,很多都使用返利的信息或是换购的措施来刺激消费,作为商业财务来说,用会员卡积分购物后如何记入账务? 我们所说的会员卡的积分通常来说是一种收入的确认方法,比如:会员购买了1000元左右的东西,那么这个消费者的积分就可以领取50元,实际上来看,这个会员消费者实际上就是给商家950元钱就可以进行消费支出了,而商场在开出发票时,不能够按1000元来开,而是按照950元来进行开取发票,也就是商业折扣的费用是50元,这样企业能够少交纳50元的税款,实际上