国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

小白開發(fā)微信小程序23--開放接口API

這篇具有很好參考價(jià)值的文章主要介紹了小白開發(fā)微信小程序23--開放接口API。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

  1. 開放接口列表

wx.login 登錄

wx.getUserInfo 獲取用戶信息

wx.chooseAddress 獲取用戶收貨地址

wx.requestPayment 發(fā)起微信支付

wx.addCard 添加卡券

wx.openCard 打開卡券

.......................................................

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔
  1. wx.getUserProfile

1、功能描述

獲取用戶信息。頁面產(chǎn)生點(diǎn)擊事件(例如 button 上 bindtap 的回調(diào)中)后才可調(diào)用,每次請(qǐng)求都會(huì)彈出授權(quán)窗口,用戶同意后返回 userInfo。該接口用于替換 wx.getUserInfo,詳見 用戶信息接口調(diào)整說明。

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔
小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

2、示例代碼

頁面代碼

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

js代碼

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

運(yùn)行效果

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔
小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

3.wx.login

功能描述

調(diào)用接口獲取登錄憑證(code)。通過憑證進(jìn)而換取用戶登錄態(tài)信息,包括用戶在當(dāng)前小程序的唯一標(biāo)識(shí)(openid)、微信開放平臺(tái)帳號(hào)下的唯一標(biāo)識(shí)(unionid,若當(dāng)前小程序已綁定到微信開放平臺(tái)帳號(hào))及本次登錄的會(huì)話密鑰(session_key)等。用戶數(shù)據(jù)的加解密通訊需要依賴會(huì)話密鑰完成。

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔
小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

小程序登錄wx.login()

小程序可以通過微信官方提供的登錄能力方便地獲取微信提供的用戶身份標(biāo)識(shí),快速建立小程序內(nèi)的用戶體系

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

說明

調(diào)用 wx.login() 獲取 臨時(shí)登錄憑證code ,并回傳到開發(fā)者服務(wù)器。

調(diào)用 auth.code2Session 接口,換取 用戶唯一標(biāo)識(shí) OpenID 、 用戶在微信開放平臺(tái)帳號(hào)下的唯一標(biāo)識(shí)UnionID(若當(dāng)前小程序已綁定到微信開放平臺(tái)帳號(hào)) 和 會(huì)話密鑰 session_key。

之后開發(fā)者服務(wù)器可以根據(jù)用戶標(biāo)識(shí)來生成自定義登錄態(tài),用于后續(xù)業(yè)務(wù)邏輯中前后端交互時(shí)識(shí)別用戶身份

小程序登錄code2Session

接口應(yīng)在服務(wù)器端調(diào)用,詳細(xì)說明參見服務(wù)端API。

功能描述

登錄憑證校驗(yàn)。通過 wx.login 接口獲得臨時(shí)登錄憑證 code 后傳到開發(fā)者服務(wù)器調(diào)用此接口完成登錄流程。更多使用方法詳見小程序登錄。

HTTPS 調(diào)用

GET https://api.weixin.qq.com/sns/jscode2session

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔
小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

請(qǐng)求數(shù)據(jù)示例

GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

返回?cái)?shù)據(jù)示例

{

"openid":"xxxxxx",

"session_key":"xxxxx",

"unionid":"xxxxx",

"errcode":0,

"errmsg":"xxxxx"

}

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

示例代碼

1、頁面添加登錄按鈕

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

2、js代碼testLogin

可以看到這個(gè)code是變化的,不能作為登錄的唯一憑證,需要用到下面的code2Session,即調(diào)用 auth.code2Session 接口,換取 用戶唯一標(biāo)識(shí) OpenID

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔
小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

3、這個(gè)code不是唯一的,不能作為登錄的憑證,需要進(jìn)行下一步的驗(yàn)證

如圖所示,用usercode換取openid

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

打開上次“小白開發(fā)微信小程序21--網(wǎng)絡(luò)API(ASP.NET版”代碼,首先添加包引用,newtonsoft.json

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

在model文件夾添加類HttpHelper

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

HttpHelper.cs完整代碼:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace webapitest.Models
{
    /// <summary>
    /// http請(qǐng)求幫助類
    /// </summary>
    public  class HttpHelper
    {
        /// <summary>
        /// https get請(qǐng)求
        /// </summary>
        /// <param name="Url">請(qǐng)求地址</param> 
        /// <returns>System.String.</returns>
        public  string HttpsGet(string Url)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); 
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
            string retString = myStreamReader.ReadToEnd();
            myStreamReader.Close();
            myResponseStream.Close(); 
            return retString;
        }
    }
}

在WebXinController中添加方法wxLogin,

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

完成代碼:

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using webapitest.Models;

namespace webapitest.Controllers
{
    /// <summary>
    /// 微信小程序控制器
    /// </summary>
    [Route("api/[controller]")]
    [ApiController]
    public class WebXinController : ControllerBase
    {
        List<Book> booklist = null;

        private static List<Book> getBookList()
        {
            List<Book> books = new List<Book>();

            Book b1 = new Book();
            b1.id = 9032;
            b1.title = "java開發(fā)指南";
            b1.author = "楊強(qiáng)標(biāo)";
            b1.publisher = "吉林出版公司";
            b1.image = "img01.jpg";
            books.Add(b1);

            Book b2 = new Book();
            b2.id = 7232;
            b2.title = "web項(xiàng)目指導(dǎo)";
            b2.author = "毛二平";
            b2.publisher = "山東出版公司";
            b2.image = "img02.jpg";
            books.Add(b2);

            Book b3 = new Book();
            b3.id = 6832;
            b3.title = "小程序教程";
            b3.author = "風(fēng)間云";
            b3.publisher = "海南出版公司";
            b3.image = "img03.jpg";
            books.Add(b3);
            return books; 
        }

        /// <summary>
        /// 圖書列表
        /// </summary>
        /// <returns></returns>
        [HttpGet("findBookList")]
        public List<Book> findBookList()
        {
            booklist = getBookList();
            return booklist; 
        }

        /// <summary>
        /// 用戶登錄
        /// </summary>
        /// <returns></returns>
        [HttpGet("wxLogin")]
        public string  wxLogin(string userCode)
        {
            string appid = "wxd20d97e66580e91e";
            string secret = "5100c604bcb817cd0fa0cd801fccd239";
            string jscode = userCode;
            //https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code 
            string requesturl = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + secret + "&js_code=" + jscode + "&grant_type=authorization_code";
            HttpHelper httpHelper = new HttpHelper();
            string jsonresult = httpHelper.HttpsGet(requesturl);
            JObject jsonobj = JsonConvert.DeserializeObject<JObject>(jsonresult);//序列化成json對(duì)象
            string useropenid = jsonobj.GetValue("openid").ToString();//獲取指定屬性的值
            string txt = useropenid; 
            return txt;
        }

    }
}

小程序頁面js代碼

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

完成代碼

// pages/myapi/myapi.js
Page({

    /**
     * 頁面的初始數(shù)據(jù)
     */
    data: {
        userInfo: {},//用戶信息
        useropenid: "",
        usercode:""
    },
    //登錄
    testLogin() {
        let that=this;
        wx.login({
            success(res) {
                if (res.code) {
                    that.setData({
                        usercode:res.code
                    });
                    console.log(res.code);
                }
            }
        })
    },
    //微信登錄
    doLogin() {
        let that = this;
        wx.login({
            success(res) {
                if (res.code) {
                    const code = res.code;
                    that.setData({
                        usercode:res.code
                    });
                    wx.request({
                        url: 'https://localhost:5001/api/WebXin/wxLogin',
                        data: { "userCode": code },//傳遞參數(shù)
                        method: "GET",//當(dāng)前請(qǐng)求的請(qǐng)求方式
                        header: {
                            'content-type': 'application/json' // 默認(rèn)值
                        },
                        success(res) {
                            const tokendata = res.data;
                            if (tokendata != "error") {
                                wx.setStorageSync('token', tokendata);//存儲(chǔ)用戶token 
                                that.setData({ 
                                    useropenid: tokendata
                                });
                                wx.showToast({
                                    title: '登錄成功',
                                    icon: 'success',
                                    duration: 2000
                                })
                            }
                        }
                    });
                }
            }
        })
    },




    getUserProfile() {
        wx.getUserProfile({
            desc: '用于完善會(huì)員資料',
            success: (res) => {
                this.setData({
                    userInfo: res.userInfo
                })
            }
        })
    },



    // 添加設(shè)備
    putdevice() {
        wx.showToast({
            title: '設(shè)備添加成功',
            icon: 'success',
            duration: 2000
        })
    },
    // 添加課程
    putcourse() {
        wx.showToast({
            title: '課程添加失敗',
            icon: 'error',
            duration: 3000
        })
    },
    // 刪除
    delbook() {
        wx.showModal({
            title: '提示',
            content: '您是否同意【最美鄉(xiāng)村】評(píng)選結(jié)果?',
            confirmText: "贊成",
            cancelText: "反對(duì)",
            success(res) {
                if (res.confirm) {
                    wx.showToast({
                        title: '你投了贊成票',
                        icon: 'success',
                        duration: 2000
                    })
                } else if (res.cancel) {
                    wx.showToast({
                        title: '你投了反對(duì)票',
                        icon: 'error',
                        duration: 3000
                    })
                }
            }
        })
    },
    /**
     * 生命周期函數(shù)--監(jiān)聽頁面加載
     */
    onLoad(options) {

    },

    /**
     * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函數(shù)--監(jiān)聽頁面顯示
     */
    onShow() {

    },

    /**
     * 生命周期函數(shù)--監(jiān)聽頁面隱藏
     */
    onHide() {

    },

    /**
     * 生命周期函數(shù)--監(jiān)聽頁面卸載
     */
    onUnload() {

    },

    /**
     * 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動(dòng)作
     */
    onPullDownRefresh() {

    },

    /**
     * 頁面上拉觸底事件的處理函數(shù)
     */
    onReachBottom() {

    },

    /**
     * 用戶點(diǎn)擊右上角分享
     */
    onShareAppMessage() {

    }
})

點(diǎn)我登錄

小程序開放接口,小白開發(fā)微信小程序,微信小程序,小程序,前端,Powered by 金山文檔

成功拉到了openid,這個(gè)openid才是小程序用戶的唯一標(biāo)識(shí),這也是作為token。

帥是一個(gè)境界,相信自己的傳說。文章來源地址http://www.zghlxwxcb.cn/news/detail-611550.html

到了這里,關(guān)于小白開發(fā)微信小程序23--開放接口API的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 小白開發(fā)微信小程序48--退出登錄頁面實(shí)現(xiàn)
  • 小白開發(fā)微信小程序50--云服務(wù)器部署測(cè)試小程序

    小白開發(fā)微信小程序50--云服務(wù)器部署測(cè)試小程序

    在前面49節(jié)的操作證明了操作正確的,但這只是在本地測(cè)試部署成功,還差一步就是前臺(tái)和后臺(tái)的程序都必須運(yùn)行在internet上才行,而不可能運(yùn)行在本地機(jī)器服務(wù)器上,方式是先在本地部署測(cè)試,然后再云服務(wù)器上部署測(cè)試,所以接下繼續(xù)搞,繼續(xù)干。 只要是云服務(wù)器都可以

    2024年02月11日
    瀏覽(15)
  • 小白開發(fā)微信小程序49--本地服務(wù)器部署測(cè)試小程序

    小白開發(fā)微信小程序49--本地服務(wù)器部署測(cè)試小程序

    相信大家對(duì)微信小程序的基礎(chǔ)和項(xiàng)目應(yīng)該沒有太大問題了,如果還有對(duì)微信小程序開發(fā)有一些問題,請(qǐng)查看回顧...微信小程序開發(fā)者開發(fā)好一款微信小程序后,怎么才能發(fā)布呢?如何將其提交給微信審核呢? 在前面的【領(lǐng)航教育】項(xiàng)目開發(fā)中,后臺(tái)采用的是C#開發(fā)語言,提供的

    2024年02月09日
    瀏覽(19)
  • 跳轉(zhuǎn)微信小程序短鏈接的API接口

    =\\\"ht tps://p http://ush.youlacloud.com/\\\"怎么從網(wǎng)頁跳轉(zhuǎn)一鍵跳轉(zhuǎn)到微信小程序? 發(fā)送短信,用戶點(diǎn)擊鏈接,直達(dá)微信小程序? 如何抖音跳轉(zhuǎn)微信小程?淘寶跳轉(zhuǎn)微信小程? 等等類似的應(yīng)用,都需要是借助 將微信小程序生成一般的鏈接,用戶通過點(diǎn)擊鏈接直接進(jìn)入小程序。 復(fù)制發(fā)短

    2024年02月15日
    瀏覽(18)
  • 微信小程序 api+前端實(shí)現(xiàn)生成分享海報(bào)

    微信小程序 api+前端實(shí)現(xiàn)生成分享海報(bào)

    1.先看效果圖,點(diǎn)擊分享海報(bào)按鈕,然后彈出分享海報(bào) ?2.前端代碼 這里用的組件有vant組件庫還有canvas_drawer(一個(gè)畫布組件) canvas_drawer下載地址 https://github.com/kuckboy1994/mp_canvas_drawer 把 components 中的 canvasdrawer 拷貝到自己項(xiàng)目下,然后再app.json中引用就行了,如下 \\\"usingCompon

    2024年02月09日
    瀏覽(25)
  • 微信小程序 通過百度API接口實(shí)現(xiàn)漢譯英翻譯

    微信小程序 通過百度API接口實(shí)現(xiàn)漢譯英翻譯

    目錄 先看一下做出來的效果: 一、微信開發(fā)平臺(tái)的網(wǎng)址(微信開發(fā)者工具的官方使用說明) 二、百度API(文本翻譯的API) 三、進(jìn)入正文,微信小程序的代碼部分 基礎(chǔ) | 微信開放文檔 (qq.com) https://developers.weixin.qq.com/miniprogram/dev/api/ ? 文本翻譯_機(jī)器翻譯-百度AI開放平臺(tái) (bai

    2024年02月09日
    瀏覽(18)
  • 前端小白是如何利用chatgt用一周時(shí)間從做一款微信小程序的

    前端小白是如何利用chatgt用一周時(shí)間從做一款微信小程序的

    隨著 chatgpt 的大火,真的是在工作上給各行各業(yè)的人帶來了極大的便利,本人是一個(gè) java 程序員,其實(shí)我自己是一直想開發(fā)一款屬于自己的小程序的,但是迫于對(duì)前端知識(shí)的貧瘠,考慮到要學(xué)的前端開發(fā)知識(shí)有很多,比如 js , ts ,前端框架 vue , react …,最難受的是 css 樣式,最

    2024年02月02日
    瀏覽(21)
  • 【微信小程序】使用和風(fēng)天氣接口api(全過程)——獲取天氣

    【微信小程序】使用和風(fēng)天氣接口api(全過程)——獲取天氣

    介紹 這里是小編成長之路的歷程,也是小編的學(xué)習(xí)之路。希望和各位大佬們一起成長! 以下為小編最喜歡的兩句話: 要有最樸素的生活和最遙遠(yuǎn)的夢(mèng)想,即使明天天寒地凍,山高水遠(yuǎn),路遠(yuǎn)馬亡。 一個(gè)人為什么要努力? 我見過最好的答案就是:因?yàn)槲蚁矚g的東西都很貴,

    2023年04月08日
    瀏覽(69)
  • 微信小程序?qū)崿F(xiàn)調(diào)用百度文心一言接口API(可直接運(yùn)行代碼)

    微信小程序?qū)崿F(xiàn)調(diào)用百度文心一言接口API(可直接運(yùn)行代碼)

    直接貼出運(yùn)行結(jié)果 總共有三個(gè)步驟,過程都很簡單。 先進(jìn)入文心千帆大模型平臺(tái),然后點(diǎn)擊左邊一列的“應(yīng)用接入”,然后點(diǎn)創(chuàng)建應(yīng)用,這時(shí)你就獲得了API_key了。 如下,開通是免費(fèi)的,付費(fèi)隨時(shí)可以中止。 不過記得要換成自己的API_key和Secret_key。? (如果報(bào)錯(cuò) “鏈接不在

    2024年02月13日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包