官方<https://mp.weixin.qq.com/wikit=resource/res_main&id=mp1421141115>
文件<https://res.wx.qq.com/open/js/jweixin-1.4.0.js>
### 分享自定義
~~~
{php echo register_jssdk();}
<script>
wx.ready(function () {
sharedata = {
title: '微信JS-SDK Demo',
desc: '微信JS-SDK,幫助第三方為用戶提供更優質的移動web服務',
link: jssdkconfig.url,
imgUrl: 'http://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRt8Qia4lv7k3M9J1SKqKCImxJCt7j9rHYicKDI45jRPBxdzdyREWnk0ia0N5TMnMfth7SdxtzMvVgXg/0',
success: function(){
alert('success');
},
cancel: function(){
alert('cancel');
}
};
wx.hideOptionMenu();
wx.showMenuItems({
menuList: [
'menuItem:share:timeline',
'menuItem:share:appMessage',
'menuItem:copyUrl',
'menuItem:favorite',
'menuItem:openWithSafari',
'menuItem:openWithQQBrowser'
],
});
wx.onMenuShareAppMessage(sharedata);
wx.onMenuShareTimeline(sharedata);
});
? ?收貨地址共享jssdk>1.2
wx.openAddress({
success : function(res){
alert(JSON.stringify(res));
},cancel: function () {
alert("取消了");}
});
</script>
~~~
~~~
$wx = $_W['account']['jssdkconfig'];
~~~
關閉當前頁,無需簽名
~~~
document.addEventListener("WeixinJSBridgeReady", function onBridgeReady() {
WeixinJSBridge.call("closeWindow");
});
a 標簽等 直接用 WeixinJSBridge.call("closeWindow");
~~~
支付的調用
~~~
$.post("{$payurl}",{}, function(data){//發送到下單接口
data = JSON.parse(data);//獲取json數據
WeixinJSBridge.invoke('getBrandWCPayRequest', {
'appId' : data.appId,
'timeStamp': data.timeStamp,
'nonceStr' : data.nonceStr,
'package' : data.package,
'signType' : data.signType,
'paySign' : data.paySign
}, function(res) {
if(res.err_msg == 'get_brand_wcpay_request:ok') {
alert('成功支付');
} else if(res.err_msg == 'get_brand_wcpay_request:cancel'){
alert('支付取消');
}else{
alert("error code:"+res.err_msg);
}
});
});
~~~
圖片瀏覽,只需要圖片加上 weixin 類即可
~~~
var weixinimg=[];
var weixinsrc=[];
weixinimg=$('.weixin');
for (var i=0;i<weixinimg.length;i++){
weixinsrc[i]=weixinimg[i].src;
}
$('.weixin').click(function(){
var index = $('.weixin').index(this);
wx.previewImage({
current: weixinsrc[index],
urls:weixinsrc
});
});
~~~
單多圖上傳
~~~
//單圖上傳
$('#i1').on('click', function () {
wx.chooseImage({
count:1,
success: function (res) {
var localIds = res.localIds;
syncUpload1(localIds);
}
});
});
var syncUpload1 = function(localIds){
var localId = localIds.pop();
wx.uploadImage({
localId: localId,
isShowProgressTips: 1,
success: function (res) {
var serverId = res.serverId; // 返回圖片的服務器端ID
$.post("{$_W['siteroot']}app/index.php?i={$weid}&c=entry&do=ajax1&m=we7_demo",{mid:serverId},function(data){
$('#img1').html('<li class="weui_uploader_file" style="background-image:url('+data.src+')"></li>');
$('#imgi').html('<input value="'+data.src+'" type="hidden" name="files" />');
},'json');
}
});
};
//多圖上傳
$('#headimgurl2').on('click', function () {
wx.chooseImage({
success: function (res) {
var localIds = res.localIds;
syncUpload(localIds);
}
});
});
var syncUpload = function(localIds){
var localId = localIds.pop();
wx.uploadImage({
localId: localId,
isShowProgressTips: 1,
success: function (res) {
var serverId = res.serverId; // 返回圖片的服務器端ID
$.post("{$_W['siteroot']}app/index.php?i={$weid}&c=entry&do=ajax1&m=we7_demo",{mid:serverId},function(data){
$('#img2').append('<li class="weui_uploader_file" style="background-image:url('+data.src+')"></li>');
$('#file2').append('<input value="'+data.src+'" type="hidden" name="files[]" />');
},'json');
if(localIds.length > 0){
syncUpload(localIds);
}
}
});
};
~~~
掃碼
~~~
document.querySelector('#qr').onclick = function () {
wx.scanQRCode({
needResult: 1,//0是微信處理,1是結果
desc: '我們自己來處理結果',
scanType: ["qrCode","barCode"],
success: function (res) {
var result = res.resultStr;
$.alert(result,"掃描結果");
}
});
};
~~~
自動獲取地理位置,需要騰訊地圖蜜月
~~~
wx.getLocation({
type: 'wgs84', // 默認為wgs84的gps坐標,如果要返回直接給openLocation用的火星坐標,可傳入'gcj02'
success: function (res) {
var latitude = res.latitude; // 緯度,浮點數,范圍為90 ~ -90
var longitude = res.longitude; // 經度,浮點數,范圍為180 ~ -180。
var speed = res.speed; // 速度,以米/每秒計
var accuracy = res.accuracy; // 位置精度
//alert(JSON.stringify(res));
$.get("http://apis.map.qq.com/ws/geocoder/v1/?location="+latitude+","+longitude+"&key={$mapkey}&get_poi=0&output=jsonp&callback=?",function(data) {
console.log(data);
if(data.status==0){
var province = data.result.address_component.province;
province = preg_replace('/市/',"",province);
province = preg_replace('/省/',"",province);
var city = data.result.address_component.city;
city = preg_replace('/市/',"",city);
var qu = data.result.address_component.district;
$("#address1").val(province+" "+city+" "+qu);
$("#address2").val(province+" "+city+" "+qu);
}
},'jsonp');
}
});
~~~
查看位置
~~~
wx.openLocation({
latitude: 23.099994,//緯度
longitude: 113.324520,//經度
name: 'TIT 創意園',//名稱
address: '廣州市海珠區新港中路 397 號',
scale: 14,//縮放等級1-28 默認1最大
infoUrl: 'http://weixin.qq.com',//詳細信息
});
~~~
顯示 影藏 關閉
~~~
wx.ready(function () {
wx.hideOptionMenu();
})
wx.ready(function () {
wx.showOptionMenu();
})
wx.ready(function () {
wx.closeWindow();
})
~~~
阻止滑動
~~~
function stopDrop() {
var c;
$(document.body).on('touchstart', function(a) {
c = a.originalEvent.changedTouches[0].clientY
});
$(document.body).on('touchmove', function(a) {
var y = a.originalEvent.changedTouches[0].clientY;
var b = $(this).scrollTop()
});
$(document.body).on('touchend', function(a) {
c = a.originalEvent.changedTouches[0].clientY;
$(this).scrollTop(0)
})
}
stopDrop();
~~~
下單1分錢返回
~~~
Array
(
[appid] => wx001
[attach] => 1
[bank_type] => CFT
[cash_fee] => 1
[fee_type] => CNY
[is_subscribe] => Y
[mch_id] => 111
[nonce_str] => IgtZ3c0g
[openid] => oN44zxCvQlYaAoEFU3UDa0uiysqA
[out_trade_no] => YO20180128022645129464
[result_code] => SUCCESS
[return_code] => SUCCESS
[sign] => 7C604C785ED4119FC60FB23C97E76EC4
[time_end] => 20180128022652
[total_fee] => 1
[trade_type] => JSAPI
[transaction_id] => 4200000100201801282214387872
)
~~~
支付成功通知返回
~~~
Array
(
[card_fee] => 0.01
[card_id] =>
[card_type] => 0
[fee] => 0.01
[from] => return
[is_usecard] => 0
[result] => success
[tag] => Array
(
[acid] => 1
[uid] => 1
[transaction_id] => 4200000084201801282604370765
)
[tid] => YO20180128222321512481
[type] => wechat
[uniacid] => 1
[uniontid] => 2018012822232100005314224341
[user] => oN44zxCvQlYaAoEFU3UDa0uiysqA
[weid] => 1
)
~~~
支付注意
~~~
支付成功處理方法,需要注意,在此方法內獲取不到$_W值,以及使用借用后參數配置也是借用公眾號的,
public function payResult($params) {//支付成功處理
if ($params['result'] == 'success' && $params['from'] == 'notify') {
$setting = pdo_get('uni_account_modules', array('module' => 'yoby_che', 'uniacid' => $params['uniacid']));
$arr = iunserializer($setting['settings']);
}
if ($params['from'] == 'return') {
if ($params['result'] == 'success') {
message('支付成功!',murl('entry', ['m'=>'yoby_che','do'=>'vpay'], 1,1), 'success');
} else {
message('支付失敗!',murl('entry', ['m'=>'yoby_che','do'=>'fm'], 1,1), 'error');
}
}
~~~
- 簡介
- 第一章 數據庫
- Mysql/mariadb
- 函數
- 基礎
- 增刪改索引
- 標準查詢
- 高級查詢
- TIDB集群mysql解決方案
- Redis
- 語言基礎
- 5種數據類型
- 其他類型
- Sqlite
- 語言基礎
- 常用查詢
- 第二章 PHP
- 語言基礎
- 第一課 流程控制和運算
- 第二課 數組
- 第三課 日期時間
- 第四課 常用函數
- 第五課 字符串
- 第六課 文件操作
- 第七課 面向對象
- 第八課 正則表達式
- 第九課 圖片處理生成
- 第十課 curl/memche
- 第十一課 mysql和pdo
- 第十三課 cookie和session
- 第十四課 xml操作
- 第十五課 php5.3+新特性
- 第十六課 php7+
- 第十七課 密碼安全
- 廢棄函數
- php命令行
- redis應用
- 算法
- 排序算法
- 基礎算法
- 無限級分類
- 自定義函數Fn
- 查找算法
- 自定義函數數據函數fn
- laravel
- 路由
- 常用語句
- 數據庫
- dingo/api
- Yii2
- 控制器
- 常用類
- 數據庫
- redis
- thinkphp6
- TP6文檔
- TP6插件
- dedecms
- 織夢標簽大全
- 數據庫操作
- 內置函數和定義函數
- 織夢核心改動
- 織夢插件/底層標簽開發
- PHP相關工具
- composer
- php開發環境phpenv
- Phpstorm使用
- windows編譯php擴展
- PHP開源庫
- 開源項目管理禪道
- sns_auth
- php-casbin權限控制
- php-jwt
- 微信SDKeasywechat
- querylist采集庫
- workerman
- Box/Spout處理excel和csv
- dll擴展
- redis/memche/xdebug
- redis
- Lua
- php_xlswriter
- event
- swoole
- 常用代碼庫
- 微擎框架
- 第一課全局變量
- 第二課常用函數
- 第三課自定義微擎獨有函數
- 第四課數據庫操作
- 第五課微信端回復
- 第六課微擎高級操作
- 第八課global函數列表
- mainfest.xml詳解
- js方法
- 人人商城
- 第一課model解讀
- 第二課常用語句解讀
- 第三課常用js解讀
- 第四課附錄常見問題
- 第五課附錄處理報表|支付
- 常用JSON狀態碼
- 第三章 JavaScript
- js基礎
- 瀏覽器對象
- 語言基礎
- html5接口
- ES6新語法
- vue
- 基礎語法
- 京東vueUI組件
- uniapp
- 組件開發規范
- nodejs
- 基礎知識
- 安裝node
- nvm不同版本node切換
- js常用標準庫
- zepto/jquery
- weui
- js圖標庫
- elementUI
- validator表單驗證
- layer彈出層
- requirejs
- wow動畫
- 動畫animate
- swiper4
- 百度編輯器
- flyio/axios/qs
- jquery.form
- bootstrap3
- clipboard復制
- slideout側滑
- imagehover.css圖片懸停動畫
- webpack打包
- Bulma UI框架
- store 客戶端存儲
- lottie動畫創建庫
- sweetalert
- js自定義函數
- 常見JSSDK
- 微信公眾號JSSDK
- 騰訊地圖jssdk
- 微信小程序
- 第四章 編程語言
- markdown語言
- Dart語言
- Dart語言基礎
- Flutter框架
- Lua語言
- 字符串,數組,表
- 自定義方法
- go語言
- 第1.1語言基本語法
- 第1.2流程控制
- 第1.3函數
- 第1.4結構體
- 第1.5接口
- 第1.6包
- go語言框架Gin
- CSS3語言
- CSS與CSS3
- 選擇符
- 屬性
- css3
- loading動畫
- HTML5語言
- less
- sass
- C#
- 基礎知識
- 函數
- 第五章 開發工具
- git
- nginx/apache服務器
- Linux常用操作
- crontab定時任務
- 注冊表與cmd
- 阿里云ECS
- frp穿透和ssl續期
- 寶塔安裝
- 樹莓派
- 瀏覽器模擬
- 火狐/chrome常用插件
- WSL安裝使用
- mac brew和終端命令
- win10相關