JS SDK 2020
JS SDK 2020 là Weibo mở ra ngôi cao mới nhất bản, nhằm vào di động đoan trang web SDK, nó so phía trước phiên bản có trọng đại thay đổi:
- 1, ngắm nhìn di động đoan H5 cảnh tượng, đi trừ bỏ nguyên lai PC thời đại cũ lắp ráp;
- 2, chia sẻ, chú ý công năng, thích xứng nhiều cảnh tượng, vô luận là ở Weibo, WeChat, di động trình duyệt, vẫn là PC thượng, đều có thể phương tiện sử dụng;
- 3, chọn dùng mở ra nhãn, hình thức hoàn toàn từ khai phá giả chính mình khống chế;
- 4, càng thêm an toàn, bởi vậy đi trừ bỏ nguyên lai JS đằng trước trực tiếp trao quyền, trực tiếp điều tiếp lời công năng, phòng ngừa số liệu tiết ra ngoài, bởi vậy giao diện trao quyền công năng yêu cầu khai phá giả dựa theo tiêu chuẩn trao quyền lưu trình tiếp nhập, thuyên chuyển mở ra tiếp lời tắc yêu cầu đặt ở phục vụ đoan hoàn thành;
Phía dưới chúng ta tới cùng nhau thể nghiệm một chút này đó đặc tính.
Chú ý: Bởi vì an toàn vấn đề, trước mắt như sau phương pháp wb.setSharingContent, wb.openMenu, wb.shareToWxTimeline, wb.shareToWxMessage, đối phi Weibo vực danh ( tức kẻ thứ ba khai phá giả vực danh nghĩa trang web ) tạm không cung cấp
Khai phá chỉ nam
Nếu ngươi không có AppKey thỉnh trước tiên ở mở ra ngôi cao trang web, đăng ký chính mình ứng dụng,Xin nhập khẩu.
Ở sử dụng JS SDK 2020 khi, yêu cầu vì nên dùng trói định an toàn vực danh, trong đó Weibo bản cài đặt JS tiếp lời đem lấy này vực danh tới tiến hành kiểm tra, nếu ngươi không tính toán sử dụng Weibo bản cài đặt JS tiếp lời có thể nhảy qua này bước đi.
Trói định an toàn vực danh thao tác có thể ở ta ứng dụng cao cấp tin tức giao diện hoàn thành.
Ở ngươi giao diện bố trí wbsdk.js văn kiện, đồng thời, nếu ngươi giao diện mã hóa không phải UTF-8, thỉnh tăng thêm charset= "utf-8" thuộc tính.
<script src= "https://open.weibo /views/js/wbsdk.js" type= "text/javascript" charset= "utf-8" ></script>
Duy trì sử dụng AMD/CMD tiêu chuẩn mô khối thêm tái phương pháp thêm tái.
Thông qua wb.init tiếp lời rót vào quyền hạn nghiệm chứng phối trí, sở hữu yêu cầu sử dụng Weibo bản cài đặt nội JS SDK giao diện trước hết cần rót vào phối trí tin tức, nếu không đem vô pháp thuyên chuyển. Nếu ngươi không tính toán sử dụng Weibo bản cài đặt JS tiếp lời có thể chọn dùng giản dị khởi động lại phương pháp.
Hoàn toàn khởi động lại, sử dụng Weibo bản cài đặt JS tiếp lời cùng mở ra nhãn khi, yêu cầu hoàn toàn khởi động lại:
wb.init({ debug: false, appkey: '', timestamp:, noncestr: '', signature: '', scope: [ 'getNetworkType', 'setBrowserTitle', 'setSharingContent', 'openMenu', 'scanQRCode', 'pickContact' ] });
Trong đó, phối trí tham số, debug: Mở ra điều chỉnh thử hình thức, appkey: Ứng dụng duy nhất đánh dấu, timestamp: Sinh thành ký tên thời gian chọc, noncestr: Sinh thành ký tên tùy cơ xuyến, signature: Ký tên, scope: Yêu cầu sử dụng JS tiếp lời danh sách.
Giản dị khởi động lại, không sử dụng Weibo bản cài đặt JS tiếp lời, chỉ sử dụng mở ra nhãn khi, có thể đơn giản hoá mới bắt đầu phương pháp, giảm bớt khai phá khó khăn:
wb.init({ appkey: '' });
Nếu ngươi ứng dụng ở vào khai phá điều chỉnh thử quá trình, kiến nghị sử dụng JS SDK 2020 điều chỉnh thử hình thức, có thể ở khởi động lại khi, phối trí debug vì true, mở ra điều chỉnh thử hình thức, lúc này ở thuyên chuyển làm lỗi khi, làm lỗi tin tức đem thông qua alert bắn ra, phương tiện ở di động đoan điều chỉnh thử.
wb.init({ debug: true, ... });
Ký tên thuật toán thấy hồ sơ mặt sau thuyết minh, JS tiếp lời thuyết minh thấy mặt sau.
init khởi động lại sau sẽ chấp hành ready phương pháp, sở hữu JS tiếp lời thuyên chuyển đều cần thiết ở ready tiếp lời đạt được kết quả lúc sau. Nếu ngươi không có sử dụng Weibo bản cài đặt JS tiếp lời có thể nhảy qua này bước đi.
wb.ready(function () { alert( "## init success" ); });
init là một cái bản cài đặt dị bước thao tác, cho nên nếu yêu cầu ở giao diện thêm tái khi liền thuyên chuyển tương quan tiếp lời, tắc cần đem tương quan tiếp lời đặt ở ready hàm số trung thuyên chuyển tới bảo đảm chính xác chấp hành. Đối với người dùng kích phát khi tài hoa dùng tiếp lời, tắc có thể trực tiếp thuyên chuyển, không cần đặt ở ready hàm số trung.
Khởi động lại thất bại xử lý. Nếu ngươi không có sử dụng Weibo bản cài đặt JS tiếp lời có thể nhảy qua này bước đi.
wb.error(function (res) { alert( "## init error:" + res); });
init khởi động lại thất bại sẽ chấp hành error hàm số, như ký tên quá thời hạn dẫn tới nghiệm chứng thất bại, sai lầm tin tức có thể ở phản hồi res tham số trung xem xét, có thể ở chỗ này đổi mới ký tên, một lần nữa nếm thử khởi động lại.
Mở ra nhãn
<wb-share-button> chia sẻ đến Weibo </wb-share-button>
<wb-share-button><div class= "myStyle" > chia sẻ đến Weibo </div></wb-share-button>
<wb-share-button data:title= "title" data:url= "url" > chia sẻ đến Weibo </wb-share-button>
<wb-share-button data:pic= "https://wx2.sinaimg.cn/large/53b515f0ly1glgemvpjwfj20gi0aw114.jpg" > chia sẻ đến Weibo </wb-share-button>
<wb-follow-account data:uid= "1904178193" > ở Weibo thượng chú ý ta </wb-follow-account>
<wb-follow-account data:uid= "1904178193" ><div class= "myStyle" > ở Weibo thượng chú ý ta </div></wb-follow-account>
Weibo bản cài đặt nội JS tiếp lời thuyết minh
wb.followCallBack({ complete: function (res) { alert( "## followCallBack event:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
complete | Function | Đương người dùng tiến hành chú ý thao tác khi, tiếp thu chú ý kết quả sự kiện hồi công hàm thuyên chuyển công tác số. |
{ "result": false, "message": "USER_CANCELLED" }
{ "result": true, "uid": "10568" }
{ "result": false, "message": "IS_FOLLOWING" }
wb.getNetworkType({ success: function (res) { alert( "## getNetworkType success:" + JSON.stringify(res)); }, fail: function (res) { alert( "## getNetworkType fail:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
success | Function | Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số. |
fail | Function | Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số. |
{ "network_type": "wifi" }
wb.setBrowserTitle({ title: "JS SDK DEMO", success: function (res) { alert( "## setBrowserTitle success:" + JSON.stringify(res)); }, fail: function (res) { alert( "## setBrowserTitle fail:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
title | String | Yêu cầu thiết trí giao diện tiêu đề. |
success | Function | Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số. |
fail | Function | Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số. |
Sai lầm mã | Thuyết minh miêu tả |
---|---|
MISSING_PARAMS | Khuyết thiếu title tham số. |
wb.setSharingContent({ icon: "https://img.t.sinajs.cn/t6/style/images/face/face_card_longwb.png", title: "SDK Sharing Content", desc: "SDK Sharing Content", success: function (res) { alert( "## setSharingContent success:" + JSON.stringify(res)); }, fail: function (res) { alert( "## setSharingContent fail:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
icon | String | Chia sẻ đến WeChat tấm card icon hình ảnh địa chỉ. |
title | String | Chia sẻ đến WeChat tấm card tiêu đề. |
desc | String | Chia sẻ đến WeChat tấm card miêu tả. |
success | Function | Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số. |
fail | Function | Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số. |
wb.openMenu({ success: function (res) { alert( "## openMenu success:" + JSON.stringify(res)); }, fail: function (res) { alert( "## openMenu fail:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
success | Function | Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số. |
fail | Function | Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số. |
{ "selected_code": "1005", "selected_title": "Bằng hữu vòng" }
Sai lầm mã | Thuyết minh miêu tả |
---|---|
USER_CANCELLED | Người dùng trực tiếp đóng cửa thực đơn. |
wb.shareToWxTimeline({ success: function (res) { alert( "## shareToWxTimeline success:" + JSON.stringify(res)); }, fail: function (res) { alert( "## shareToWxTimeline fail:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
success | Function | Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số. |
fail | Function | Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số. |
wb.shareToWxMessage({ success: function (res) { alert( "## shareToWxMessage success:" + JSON.stringify(res)); }, fail: function (res) { alert( "## shareToWxMessage fail:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
success | Function | Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số. |
fail | Function | Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số. |
wb.scanQRCode({ success: function (res) { alert( "## scanQRCode success:" + JSON.stringify(res)); }, fail: function (res) { alert( "## scanQRCode fail:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
success | Function | Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số. |
fail | Function | Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số. |
{ "result": "http://weibo" }
Sai lầm mã | Thuyết minh miêu tả |
---|---|
USER_CANCELLED | Người dùng hủy bỏ rà quét. |
SERVICE_FORBIDDEN | Không có cameras quyền hạn hoặc người dùng không cho phép sử dụng cameras. |
wb.pickContact({ count: 3, success: function (res) { alert( "## pickContact success:" + JSON.stringify(res)); }, fail: function (res) { alert( "## pickContact fail:" + JSON.stringify(res)); } });
Tham số tên | Loại hình | Thuyết minh miêu tả |
---|---|---|
count | Int | Có thể lựa chọn nhân số, tỷ như, truyền 1 chính là chỉ có thể tuyển một người, lớn nhất không thể vượt qua 10. |
success | Function | Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số. |
fail | Function | Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số. |
{ "contacts": [{ "uid": "1404376560", "screen_name": "zaku", "avatar_url": "https://tva2.sinaimg.cn/53b515f0jw1e8qgp5bmzyj2050050aa8.jpg" }] }
Sai lầm mã | Thuyết minh miêu tả |
---|---|
USER_CANCELLED | Người dùng trực tiếp hủy bỏ lựa chọn. |
JS SDK 2020 sử dụng quyền hạn ký tên thuật toán
https://api.weibo /oauth2/js_ticket/generate?client_id=APPKEY&client_secret=APPSECRET
{ "result": true, "appkey": "", "js_ticket": "", "expire_time": 7199 }
Ký tên sinh thành quy tắc như sau: Tham dự ký tên tự đoạn bao gồm noncestr, hữu hiệu jsapi_ticket, timestamp, url. Đối sở hữu đãi ký tên tham số dựa theo tự đoạn danh ASCII mã từ nhỏ đến lớn bài tự ( từ điển tự ) sau, sử dụng key1=value1&key2=value2… Cách thức ghép nối thành tự phù xuyến. Nơi này yêu cầu chú ý chính là sở hữu tham số danh đều vì viết thường tự phù, lúc sau đối tự phù xuyến tiến hành sha1 mã hóa, tự đoạn danh cùng tự đoạn giá trị đều chọn dùng nguyên thủy giá trị, trong đó, url vì trước mặt trang web hoàn chỉnh địa chỉ, nhưng là không bao hàm # và mặt sau bộ phận, cũng không cần tiến hành URL chuyển nghĩa.
Ký tên tự phù xuyến = "jsapi_ticket={jsapi_ticket}&noncestr={noncestr}×tamp={timestamp}&url={url}"
Ký tên = sha1( ký tên tự phù xuyến )
Ký tên dùng noncestr cùng timestamp cần thiết cùng init trung noncestr cùng timestamp tương đồng. Ký tên dùng url cần thiết là thuyên chuyển JS tiếp lời giao diện hoàn chỉnh địa chỉ. Xuất phát từ an toàn suy xét, khai phá giả cần thiết ở server đoan thực hiện ký tên logic.
Phụ lục một, thực đơn cái nút code
Mã hóa | Thuyết minh miêu tả |
---|---|
1001 | Chia sẻ đến Weibo. |
1003 | Chia sẻ đến Weibo đàn cùng tin nhắn. |
1004 | Chia sẻ đến WeChat bạn tốt. |
1005 | Chia sẻ đến WeChat bằng hữu vòng. |
1101 | Chia sẻ đến tin nhắn. |
1012 | Chia sẻ đến Alipay bạn tốt. |
1010 | Chia sẻ đến QQ. |
1011 | Chia sẻ đến QQ không gian. |
1102 | Chia sẻ đến bưu kiện. |