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
});
}
});
}
})
复制代码

微信小程序工具类的更多相关文章

  1. 微信小程序-工具无法加载本地模拟开发服务的解决办法

    微信小程序开发工具出现如下问题: 因为网络代理软件或者 VPN 影响,工具无法加载本地模拟开发服务  请尝试以下任一解决方案1.关闭相关网络代理软件,重新编译成功后,再启动相关网络代理软件: 2.配置 ...

  2. 微信小程序-工具的下载与安装

    QQ讨论群:785071190 安装开发工具 前往 开发者工具下载页面 ,根据自己的操作系统下载对应的安装包进行安装,有关开发者工具更详细的介绍可以查看 <开发者工具介绍> .工具安装非常 ...

  3. 前端微信小程序电影类仿淘票票微信小程序

    需求描述及交互分析设计思路和相关知识点电影界面顶部页签切换效果设计正在热映界面布局设计即将上映界面布局设计电影详情页设计我的界面列表导航设计登录设计 相关知识点(1)swiper滑块视图容器组件,可以 ...

  4. 微信小程序工具下载与安装

    下载 第一步:百度搜索"微信公众平台" 第二步:登录微信公众平台 第三步:点击微信开发者工具 第四步:按照自己的操作系统下载对应的版本的开发者工具,我的是Windows10 64位 ...

  5. 微信小程序服务类目大坑:特殊行业服务类目所需资质材料

    作为一个技术开发人员,遇到特殊行业服务类目所需资质材料,只能叫苦连天了,妈的,这个不是技术可以解决的问题,如果技术可以解决的问题都不是问题. 百牛信息技术bainiu.ltd整理发布于博客园 特殊行业 ...

  6. 前端微信小程序生鲜类仿爱鲜蜂微信小程序

    需求描述及交互分析设计思路和相关知识点首页界面布局设计闪送超市纵向导航设计商品添加到购物车设计购物车商品显示设计收货地址列表显示设计新增收货地址设计 交互分析(1)底部标签导航有首页.闪送超市.购物车 ...

  7. 微信小程序缓冲类的封装

    1:utils 目录下新建一个Cache.js文件 2:文件下书写以下代码: // 缓存类 class Cache { // 构造方法 单位秒 constructor({ expire = 3600 ...

  8. 微信小程序工具真机调试提示page "xxx/xxx/xxx" is not found

    解决方法: pages对象添加该页面

  9. 前端微信小程序资讯类仿今日头条微信小程序

    需求描述及交互分析设计思路和相关知识点新闻频道滑动效果设计首页新闻内容设计首页新闻详情页设计我的界面列表式导航设计系统设置二级界面设计 设计思路(1)设计底部标签导航,准备好底部标签导航的图标和建立相 ...

随机推荐

  1. java多线程Lock接口简介使用与synchronized对比 多线程下篇(三)

    前面的介绍中,对于显式锁的概念进行了简单介绍 显式锁的概念,是基于JDK层面的实现,是接口,通过这个接口可以实现同步访问 而不同于synchronized关键字,他是Java的内置特性,是基于JVM的 ...

  2. springboot情操陶冶-web配置(九)

    承接前文springboot情操陶冶-web配置(八),本文在前文的基础上深入了解下WebSecurity类的运作逻辑 WebSecurityConfigurerAdapter 在剖析WebSecur ...

  3. java中求质数(素数)的问题

    这篇笔记讲讲关于java中质数的问题. 一.什么是质数(素数)? 定义:质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数.它可以有无限个数. 二.ja ...

  4. Java建造(Builder)模式

    一.什么是建造模式: 建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而使一个建造过程生成具有不同内部表象的产品.客户端不需要知道产品内部的结构和生产过程. 二.建造模式的结构: Buil ...

  5. 自己实现的typeOf函数1

    自己实现的typeOf函数:返回传入参数的类型 主要用于解决,js自带的typeof返回结果不精确:Ext JS中typeOf对字符串对象.元素节点.文本节点.空白文本节点判断并不准确的问题 js代码 ...

  6. 安装centos5.x的基本优化配置

    1.添加账号

  7. 关于C++11右值引用和移动语义的探究

    关于C++11右值引用和移动语义的探究

  8. windows笔记本触摸板的快捷键教程

    自从习惯了macbook的触摸板,根本就懒得使用鼠标.即实用,又便捷.但切换到windows笔记本的时候,总是不习惯使用触摸板. 今天查了一下微软的教程,发现windows现的已经做的相当不错了.但是 ...

  9. Golang学习:sublime text3配置golang环境

    最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...

  10. mysql export mysqldump version mismatch upgrade or downgrade your local MySQL client programs

    I use MySQL Community Edition and I solved this problem today. goto https://dev.mysql.com/downloads/ ...