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
});
}
});
}
})
復制代碼