微信小程式--登陸介面
本文主要介紹微信小程式的登入前端的流程。實現的邏輯是通過獲取微信小程式的wx.login的server獲取token介面, 傳入code, rawData, signature, encryptData實現的。
登入
1.外部封裝data.js
function getUserInfo(code, loginStatus) {
//封裝函式
wx.getUserInfo({
success: function (info) {
var rawData = info['rawData'];
var signature = info['signature' ];
// var encryptData = info['encryptData'];
var encryptedData = info['encryptedData']; //注意是encryptedData不是encryptData...坑啊
var iv = info['iv'];
console.log(info)
//小程式呼叫server獲取token介面, 傳入code, rawData, signature, encryptData.
wx.request({
url: my_url, //my_url此處填寫你封裝的url
data: {
"code" : code,
"rawData": rawData,
"signature": signature,
'iv': iv,
'encryptedData': encryptedData,
},
dataType: 'JSON ',
success: function (res) {
var str = res.data;
var session3rd = JSON.parse(str).session3rd
wx.setStorageSync("userid" , session3rd)
if (res.statusCode != 200) {
wx.showModal({
title: '登入失敗'
});
}
}
});
},
fail: function (res) {
loginStatus = false;
wx.openSetting({
success: function (data) {
if (data) {
if (data.authSetting["scope.userInfo"] == true) {
loginStatus = true;
wx.getUserInfo({
withCredentials: false,
success: function (data) {
console.info("3成功獲取使用者返回資料");
//設定快取
//再次獲取使用者userid
getUserInfo(code, loginStatus);
},
fail: function () {
console.info("3授權失敗返回資料");
}
})
}
}
},
fail: function () {
console.info("3設定失敗返回資料");
}
})
}
})
}
module.exports = {
getUserInfo: getUserInfo,
}
2.示例app.js呼叫外部js實現小程式使用者登陸註冊
var util=require('pages/data/data.js');//此處絕對路徑相對路徑都能實現
App({
onLaunch: function () {
var loginStatus = true;
var userid=wx.getStorageSync("userid")
if (userid == "" || userid==undefined){
if (!loginStatus) {
wx.openSetting({
success: function (data) {
if (data) {
if (data.authSetting["scope.userInfo"] == true) {
loginStatus = true;
util.getUserInfo(code, loginStatus)
}
}
},
fail: function () {
console.info("設定失敗返回資料");
}
})
}
else {
wx.login({
success: function (res) {
// console.log(res)
var code = res["code"];
//2.小程式呼叫wx.getUserInfo得到rawData, signatrue, encryptData.
util.getUserInfo(code, loginStatus)
}
})
}
}
}
})
Tips:由於這是初步程式碼邏輯嚴謹不足,需要各自完善。後端介面的邏輯需要自行解決哦!
相關推薦
微信小程式--登陸介面
本文主要介紹微信小程式的登入前端的流程。實現的邏輯是通過獲取微信小程式的wx.login的server獲取token介面, 傳入code, rawData, signature, encryptD
微信小程式之介面互動反饋
互動反饋就是在使用者觸發某事件之後,給使用者一個反饋資訊。 在小程式中是通過以下幾種方式實現的: 1.wx.showToast()方法 showToast: function (postscollected, postcollected) {
用Jmeter做微信小程式專案介面測試【案例】
公司新專案組開發一款微信小程式電商平臺,為了更好保證產品質量,因此提出了需要進行介面測試。 從介面本身來講,對其測試與其他專案應該是一樣的。所以不難理解,我們要對小程式的介面測試需要準備的 材料有: 1、完備的介面文件(什麼是完備的介面文件,之前文章有寫到,這裡不再綴敘) 2、測試工
微信小程式 封裝介面
1.util-util.js //封裝介面 let baseURL = 'http://127.0.0.1:3000/'; //介面路徑 let request = function (url, options = {}) { let myUrl = `${baseURL}${url}`;
微信小程式登陸步驟
先把小程式登陸的流程圖發一下: 之後開發者伺服器可以根據使用者標識來生成自定義登入態,用於後續業務邏輯中前後端互動時識別使用者身份。 呼叫 wx.login() 獲取 臨時登入憑證code 
微信小程式登陸結合後臺怎麼做
1.小程式前臺請求到我們的後臺 注意點:後臺api設定問題(備案,HTTPS)2.我們的後臺去請求微信的伺服器 注意點:返回資料的處理3.微信伺服器再返回後臺 注意點:注意敏感資料的返回問題4.後臺再返回到小程式前臺----------------------
微信小程式之----介面呼叫方式
最近開發了一個微信小程式版的任務管理系統,在向Java後臺傳送介面時遇到了一些問題,在這裡做一個簡單的總結。 官方介面 官方給出的介面叫做wx.request,請求方式比較簡單,下面是官網給出的請求例項。 wx.request({ url: 'test.php', //僅為示例,並非真實的介
微信小程式---登陸安全認證
1.session_key和openId是什麼?session_key官方說明為:session_key是微信伺服器生成的針對使用者資料進行加密簽名的金鑰session_key的用途(1)對wx.get
微信小程式前端介面和後端伺服器(PHP)的對接
關於微信小程式的介面編寫的資料和書籍比比皆是,很容易找到。也就是說似乎大家都忙於處理表面的皮的技術的專研,但我一直好奇這層皮和後端伺服器是如何通訊交流的,如何實現資訊交換的。所以本文重點研究這部分知識。1、-- 最簡單的前端和後端通訊的例程前端:*.wxml裡建立一個按鈕,呼
微信小程式歡迎介面的製作
新建一個頁面,包含.js,.json,.wxml,.wxss檔案 頁面.wxml檔案 <view class="usermotto"> <text class="btn">開啟小程式之旅</text> </vie
微信小程式獲取介面返回資料
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.List
微信小程式-歡迎介面
市面上大多數的app都會有一個歡迎介面,下面將演示如何通過微信小程式實現一個歡迎介面。 下面將會按照以下的順序介紹: 佈局的實現 邏輯的實現 樣式的實現 1.佈局的實現 整個佈局使用swiper滑動檢視實現,滑動檢視的每一個item通過一個blo
微信小程式,介面適配
小程式提供了rpx計量單位 這裡解釋下rpx 把所有介面介面寬度切分成750塊,計算時候取塊計算就達到了寬度適配! 直接貼原始碼 .wxss page{ height: 100%; width:750rpx; } .lunbo{ width
【Java】微信小程式imgSecCheck介面示例-校驗一張圖片是否含有違法違規內容
近期應該部分個人開發者小程式會收到如下通知 為了快速解決問題,就直接使用官方提供的介面 imgSecCheck校驗一張圖片是否含有違法違規內容 個人小程式只是圖片的一些處理識別。固只拿imgSecChec
微信小程式之微信登陸 —— 微信小程式教程系列(20)
簡介: 微信登陸,在新建一個微信小程式Hello World專案的時候,就可以看到專案中出現了我們的微信頭像,其實這個Hello World專案,就有一個簡化版的微信登陸。只不過是,還沒有寫入到咱們自家的後臺中而已。 新建一個Hello World專案,找到a
微信小程式開發--豆瓣圖書介面
由於微信小程式訪問豆瓣圖書介面的API被關閉, 所有從小程式端發起的訪問請求都會被拒絕, 403,禁止通訊。 其餘的資訊介面大都是http的,微信小程式中不允許訪問http, 我們通過中繼伺服器爬取並解析資料實現了一個可以在小程式中實現的圖書資訊查詢介面。 通過圖書的isbn 號碼查詢關於該圖書的各
Jmeter微信小程式介面測試
最近公司新專案組開發一款微信小程式電商平臺,為了更好保證產品質量,因此提出了需要進行介面測試。 從介面本身來講,對其測試與其他專案應該是一樣的。所以不難理解,我們要對小程式的介面測試需要準備的 材料有: 1、完備的介面文件(什麼是完備的介面文件,之前文章有寫到,這裡不再
微信小程式(看文件寫例項十)微信小程式課堂寶APP實現我的模組相關介面及邏輯
繼上篇博文,這篇完成最後一個模組,即我的模組。 一、頁面效果 這個模組是和使用者型別相關的,因此老師賬號和學生賬號能看的功能不一樣,老師端效果如下: 點選頭像到達個人資訊如下: 點選後可以做相應的修改。學生端的介面如下: 修改密碼的頁面如下: &nbs
微信小程式(看文件寫例項三)微信小程式課堂寶APP實現整體介面框架及首頁佈局
一、首頁佈局簡單思路 回顧上一篇博文,首頁的內容主要有輪播圖,橫向滑動選單以及選單對應的view,橫向滑動選單有簽到、課堂測試、模擬測試、課堂提問、答問記錄五個選項,當點選選項時更新顯示view。由於素材和時間有限,所以佈局做得相對簡單,主要是側重思路及程式碼邏輯。 二、輪播圖 檢視文件
微信小程式,返回資料給上一介面
我們知道微信官方文件中教我們如何把當前介面的資料傳輸到要跳轉的下一介面中,那麼如何在下一介面返回當前介面時把資料返回來呢? 假設上一介面為A,對應的A.js中有一段這樣的程式碼: 頁面({ data:{ 物件:'', } }) 下一介面為B,對應的B.js中有這個方法: