zoukankan      html  css  js  c++  java
  • 微信小程序工具类

    wechat-common-sdk ?

    场景:目前工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。

    我们举一个例子。 假设你正在开发一个网站然后创建了 Atom 订阅。 你决定使用一个库,而不是写自己的 Atom 生成代码。 你可能不得不通过 CPAN 安装或 Ruby gem 来包含共享库中的代码,或者将源代码直接拷贝到自己的项目中。 如果将这个库包含进来,那么无论用何种方式都很难定制它,部署则更加困难,因为你必须确保每一个客户端都包含该库。 如果将代码复制到自己的项目中,那么你做的任何自定义修改都会使合并上游的改动变得困难。

    Git 通过子模块来解决这个问题。 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。

    ##wechat-common-sdk有哪些功能?

    • Interface 小程序公用接口类(此接口需和后台api配合使用)
    • HttpUtil 小程序http请求类
      • 1.get 请求
      • 2.post 请求
    • CanvasUtil 小程序 canvas工具类
      • 1.canvas 文本换行计算
      • 2.图片裁剪画圆
      • 3.绘制圆角矩形
    • 自动统一授权入口
      • 默认开启,如果用户未授权,则跳入公用授权页面

    使用方法

    • 进入项目根路径 执行git submodule add github.com/richard1015…
    • 更新已存在 submodule 子模块时 需执行 ,否则项目中wechat-common-sdk 文件夹内容为空
      • 1.git submodule init
      • 2.git submodule update
      • 3.app.json 中加入 统一授权路径页面 "wechat-common-sdk/pages/auth"
      //app.js
    import common from "./wechat-common-sdk/common.js";
    var util = require("./utils/util.js");
    App({
      commonSdk: {},
      onLaunch: function() {
        var self = this
        console.log('App Launch')
        self.util = util;
        self.commonSdk = common.init({
          // host:'http://192.168.1.128:18888/',
          source: 7, //7.汇率计算器
          redirect: "/pages/index/index"//授权成功回调地址
        });
      },
      onShow: function() {
        console.log('App Show')
      },
      onHide: function() {
        console.log('App Hide')
      }
    }) 
    
    复制代码
    // pages/addCurrency/addCurrency.js
    let {
      commonSdk,
      util
    } = getApp();
    Page({
     
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function(options) {
        var self = this;
        //获取币种接口
        commonSdk.HttpUtil.post("exchange/currency", {
          openId: commonSdk.openid,
          needRmb: true
        }).then((res) => {
          if (res.State == 0) {
            console.log(res)
            let exist = [],
              array = [];
            res.Value.forEach(item => {
              if (item.isExist == 1) {
                exist.push(item)
              } else {
                array.push(item)
              }
            })
            self.setData({
              exist,
              array,
              oldArray: array
            });
          }
        });
      }
    })
    复制代码
  • 相关阅读:
    关于学习c++服务端的进度,一边更新,一边学习
    Ubuntu20.04 用git上传GitHub文件
    省赛菜鸡打铜记
    Filename too long unable to checkout working tree warning: Clone succeeded, but checkout failed.
    java 对象转Json字符串 --- 报declares multiple JSON fields named XXX 解决方法
    配置win10电脑右下角任务栏时间显示时分秒
    HTTP与HTTPS
    为人三会 口才三绝 修心三不
    1093
    java项目clone后不显示maven
  • 原文地址:https://www.cnblogs.com/richard1015/p/9924533.html
Copyright © 2011-2022 走看看