小程序開發能力

小程序開發能力

1. 獲取用戶頭像

當小程序需要讓用戶完善個人資料時,我們可以通過微信提供的頭像、昵稱填寫能力快速完善。如圖:

想使用微信提供的頭像填寫能力,需要兩步:

  1. 將 button 組件 open-type 的值設置為 chooseAvatar
  2. 當用戶選擇需要使用的頭像之后,可以通過 bindchooseavatar 事件回調獲取到頭像信息的臨時路徑。
<!-- 給 button 添加 open-type 屬性,值為 chooseAvatar -->
<!-- 綁定 bindchooseavatar 事件獲取回調信息 -->
<button open-type="chooseAvatar" bindchooseavatar="getAvatar">按鈕
</button>

落地代碼:

<view class="avatar"><button open-type="chooseAvatar" bindchooseavatar="getAvatar"><image src="{{ avatarUrl }}" mode="" /></button>
</view>
Page({/*** 頁面的初始數據*/data: {avatarUrl: '/assets/tom.png'},// 獲取用戶頭像信息getAvatar(e) {// 獲取選中的頭像const { avatarUrl } = e.detail// 將獲取到的頭像賦值給 data 中變量同步給頁面結構this.setData({avatarUrl})}// coding...
}

2. 獲取用戶昵稱

知識點:

當小程序需要讓用戶完善個人資料時,我們可以通過微信提供的頭像、昵稱填寫能力快速完善。如圖:

想使用微信提供的昵稱填寫能力,需要三步:

  1. 通過 form 組件中包裹住 input 以及 form-type 為 submit 的 button 組件

  2. 需要將 input 組件 type 的值設置為 nickname,當用戶輸入框輸入時,鍵盤上方會展示微信昵稱

  3. 給 form 綁定 submit 事件,在事件處理函數中通過事件對象獲取用戶昵稱

落地代碼:

<!-- 需要使用 form 組件包裹住 input 以及 button 組件 -->
<form bindsubmit="onSubmit"><!-- input 輸入框組件的 type 屬性設置為 nickname,用戶點擊輸入框,鍵盤上方才會顯示微信昵稱 --><!-- 如果添加了 name 屬性,form 組件就會自動收集帶有 name 屬性的表單元素的值 --><input type="nickname" name="nickname" placeholder="請輸入昵稱" /><!-- 如果將 form-type="submit" ,就將按鈕變為提交按鈕 --><!-- 在點擊提交按鈕的時候,會觸發 表單的 bindsubmit 提交事件 --><button type="primary" plain form-type="submit">點擊獲取昵稱</button>
</form>
Page({// 獲取微信昵稱onSubmit (event) {// console.log(event.detail.value)const { nickname } = event.detail.valueconsole.log(nickname)}}

3. 轉發功能

轉發功能,主要幫助用戶更流暢地與好友分享內容和服務

想實現轉發功能,有兩種方式:

  1. 頁面 js 文件 必須聲明 onShareAppMessage 事件監聽函數,并自定義轉發內容。只有定義了此事件處理函數,右上角菜單才會顯示“轉發”按鈕

  2. 通過給 button 組件設置屬性 open-type=“share“ ,在用戶點擊按鈕后觸發 Page.onShareAppMessage 事件監聽函數

官方文檔 onShareAppMessage:

落地代碼:

<!--pages/cate/cate.wxml--><button open-type="share">轉發</button>
Page({// 監聽頁面按鈕的轉發 以及 右上角的轉發按鈕onShareAppMessage (obj) {// console.log(obj)// 自定義轉發內容return {// 轉發標題title: '這是一個非常神奇的頁面~~~',// 轉發路徑path: '/pages/cate/cate',// 自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網絡圖片路徑imageUrl: '../../assets/Jerry.png'}}})

4. 分享到朋友圈

小程序頁面默認不能被分享到朋友圈,開發者需主動設置“分享到朋友圈”才可以,實現分享到朋友圈需滿足兩個條件:

  1. 頁面 必須 設置允許“發送給朋友”,頁面 js 文件聲明 onShareAppMessage 事件監聽函數

  2. 頁面 必須 需設置允許“分享到朋友圈”,頁面 js 文件聲明 onShareTimeline 事件監聽函數

官方文檔 onShareTimeline:

落地代碼:

Page({// 監聽右上角 分享到朋友圈 按鈕onShareTimeline () {// 自定義分享內容。return {// 自定義標題,即朋友圈列表頁上顯示的標題title: '幫我砍一刀~~~',// 自定義頁面路徑中攜帶的參數,如 path?a=1&b=2 的 【 “?” 后面部分 】query: 'id=1',// 自定義圖片路徑,可以是本地文件或者網絡圖片imageUrl: '../../assets/Jerry.png'}}})

5. 手機號驗證組件

手機驗證組件,用于幫助開發者向用戶發起手機號申請,必須經過用戶同意后,才能獲得由平臺驗證后的手機號,進而為用戶提供相應服務

  1. 手機號快速驗證組件:平臺會對號碼進行驗證,但不保證是實時驗證

    <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
    
  2. 手機號實時驗證組件:在每次請求時,平臺均會對用戶選擇的手機號進行實時驗證

    <buttonopen-type="getRealtimePhoneNumber"bindgetrealtimephonenumber="getrealtimephonenumber"
    />
    

📌注意事項:

1.目前該接口針對非個人開發者,且完成了認證的小程序開放(不包含海外主體)

2.兩種驗證組件需要付費使用,每個小程序賬號將有 1000 次體驗額度

其他要求和注意事項,參考文檔:

手機號快速驗證組件

手機號實時驗證組件

落地代碼:

<!--pages/cart/cart.wxml--><buttontype="primary"plainopen-type="getPhoneNumber"bindgetphonenumber="getphonenumber"
>快速驗證組件</button><buttontype="warn"plainopen-type="getRealtimePhoneNumber"bindgetrealtimephonenumber="getrealtimephonenumber"
>實時驗證組件</button>
Page({// 手機號快速驗證getphonenumber (event) {// 通過事件對象,可以看到,在 event.detail 中可以獲取到 code// code 動態令牌,可以使用 code 換取用戶的手機號// 需要將 code 發送給后端,后端在接收到 code 以后// 也需要調用 API,換取用戶的真正手機號// 在換取成功以后 ,會將手機號返回給前端console.log(event)},// 手機號實時驗證getrealtimephonenumber (event) {console.log(event)}})

6. 客服能力

小程序為開發者提供了客服能力,同時為客服人員提供移動端、網頁端客服工作臺便于及時處理消息

使用方式:

  1. 需要將 button 組件 open-type 的值設置為 contact,當用戶點擊后就會進入客服會話

    <button type="warn" plain open-type="contact">聯系客服</button>
    
  2. 在微信公眾后臺,綁定后的客服賬號,可以登陸 網頁端客服 或 移動端小程序 客服接收、發送客服消息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711207.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711207.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711207.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python實現時間序列分析動態因子模型(DynamicFactor算法)項目實戰

說明&#xff1a;這是一個機器學習實戰項目&#xff08;附帶數據代碼文檔視頻講解&#xff09;&#xff0c;如需數據代碼文檔視頻講解可以直接到文章最后獲取。 1.項目背景 動態因子模型&#xff08;Dynamic Factor Models, DFM&#xff09;是一種統計學和計量經濟學中用于處理…

源碼安裝 HIPIFY 和應用示例,將cuda生態源碼轉化成HIP生態源碼

1&#xff0c;源碼下載 GitHub - ROCm/HIPIFY: HIPIFY: Convert CUDA to Portable C CodeHIPIFY: Convert CUDA to Portable C Code. Contribute to ROCm/HIPIFY development by creating an account on GitHub.https://github.com/ROCm/HIPIFY.git git clone --recursive ht…

springboot230基于Spring Boot在線遠程考試系統的設計與實現

在線遠程考試系統設計與實現 摘 要 信息數據從傳統到當代&#xff0c;是一直在變革當中&#xff0c;突如其來的互聯網讓傳統的信息管理看到了革命性的曙光&#xff0c;因為傳統信息管理從時效性&#xff0c;還是安全性&#xff0c;還是可操作性等各個方面來講&#xff0c;遇到…

后端知識(理解背誦)

文章目錄 &#x1f37a; 來源&#x1f37a; C&#x1f37b; new 和 malloc 的區別&#xff1f;2&#x1f37b; delete 和 delete[] 的區別&#xff1f;0&#x1f37b; 內存泄漏是什么&#xff1f;如何避免&#xff1f;1 &#x1f37a; 計算機網絡&#x1f37b; URL 輸入后發生了…

【Day62】代碼隨想錄之單調棧_739. 每日溫度_496.下一個更大元素 I

文章目錄 1. 739. 每日溫度2. 496.下一個更大元素 I 1. 739. 每日溫度 參考文檔&#xff1a;代碼隨想錄 分析&#xff1a; 找下一個更高溫度出現在幾天后&#xff0c;即當前位置右側出現的一個比它更大的值&#xff0c;如果是暴力搜索&#xff0c;兩層for&#xff0c;時間復雜度…

基于JAVA的畢業設計分配選題系統 開源項目

目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 專業檔案模塊2.2 學生選題模塊2.3 教師放題模塊2.4 選題審核模塊 三、系統展示四、核心代碼4.1 查詢專業4.2 新增專業4.3 選擇課題4.4 取消選擇課題4.5 審核課題 五、免責說明 一、摘要 1.1 項目介紹 基于JAVAVueSpri…

vmware虛擬機centos中/dev/cl_server8/root 空間不夠

在使用vmware時發現自己的虛擬機的/dev/cl_server8/root空間不夠了&#xff0c;沒辦法安裝新的服務。所以查了一下改空間的辦法。 1.在虛擬機關閉的狀態下&#xff0c;選中需要擴容的虛擬機->設置->硬件-> 硬盤->擴展->填寫擴大到的值。 2.打開虛擬機&#xff…

jxls——自定義命令設置動態行高

文章目錄 前言依賴引入繪制 jxls 批注的 excel 模板測試類編寫自定義命令關于自動換行 前言 之前的博客中都簡單說了數據的渲染和導出excel文件。包括固定的 表頭結構&#xff0c;以及動態 表頭和表數據等方式。 本篇博客主要說明自定義命令的方式&#xff0c;控制輸出excel文…

Unity AssetBundle詳解,加載本地包、加載網絡包代碼全分享

在Unity中,AssetBundle(簡稱AB包)是一種將多個文件或資源打包到一個文件中的方式,用于優化資源的加載和管理。使用AB包,可以按需加載資源,減少應用的初始加載時間,并可以實現熱更新等功能。下面是一個基本的流程,展示如何在Unity中加載AB包并顯示其中的資源。 步驟1:…

springboot 實現本地文件存儲

springboot 實現本地文件存儲 實現過程 上傳文件保存文件&#xff08;本地磁盤&#xff09;返回文件HTTP訪問服務器路徑給前端&#xff0c;進行效果展示 存儲 服務端接收上傳的目的是提供文件的訪問服務&#xff0c;對于SpringBoot而言&#xff0c;其對靜態資源訪問提供了很…

H3C防火墻安全授權導入

一、防火墻授權概述 前面我們已經了解了一些防火墻的基本概念&#xff0c;有講過防火墻除了一些基本功能&#xff0c;還有一些高級安全防護&#xff0c;但是這些功能需要另外獨立授權&#xff0c;不影響基本使用。這里以H3C防火墻為例進行大概了解下。 正常情況下&#xff0c;防…

深度學習_15_過擬合欠擬合

過擬合和欠擬合 過擬合和欠擬合是訓練模型中常會發生的事&#xff0c;如所要識別手勢過于復雜&#xff0c;如五角星手勢&#xff0c;那就需要更改高級更復雜的模型去訓練&#xff0c;若用比較簡單模型去訓練&#xff0c;就會導致模型未能抓住手勢的全部特征&#xff0c;那簡單…

[云原生] K8s之pod進階

一、pod的狀態說明 &#xff08;1&#xff09;Pod 一直處于Pending狀態 Pending狀態意味著Pod的YAML文件已經提交給Kubernetes&#xff0c;API對象已經被創建并保存在Etcd當中。但是&#xff0c;這個Pod里有些容器因為某種原因而不能被順利創建。比如&#xff0c;調度不成功(…

原神搶碼,米游社搶碼-首發

本文章僅供學習使用-侵權請聯系刪除_2023年3月14日08:17:06 本來在深淵12層打不過的我偶然在刷到了一個dy的直播間&#xff0c;看到主播在搶碼上號幫忙打深淵還號稱痛苦號打不滿不送原石的旗號我就決定掃碼試試&#xff0c;在直播間內使用了兩部手機互相掃碼在掃了一下午的碼后…

自動駕駛技術詳解

&#x1f3ac;個人簡介&#xff1a;一個全棧工程師的升級之路&#xff01; &#x1f4cb;個人專欄&#xff1a;自動駕駛技術 &#x1f380;CSDN主頁 發狂的小花 &#x1f304;人生秘訣&#xff1a;學習的本質就是極致重復! 目錄 一 自動駕駛視覺感知算法 1目標檢測 1.1 兩階…

代碼隨想錄算法訓練營第四五天 | dp[j] = min(dp[j], dp[j - coins[i]] + 1)

目錄 爬樓梯 &#xff08;進階&#xff09;零錢兌換完全平方數總結 LeetCode 70. 爬樓梯 &#xff08;進階&#xff09; LeetCode 322. 零錢兌換 LeetCode 279.完全平方數 爬樓梯 &#xff08;進階&#xff09; 好做 import java.util.*;public class Main{// dp[i] 爬到有…

css背景圖片屬性

基礎代碼&#xff1a; div {width: 200px;height: 200px;background: url(./css-logo.png); }<div></div> 1、background-repeat&#xff1a;默認是repeat 設置背景圖片在容器內是否平鋪。 background-repeat: repeat-y; background-repeat: repeat-x; background…

消息中間件之RocketMQ源碼分析(二十四)

事務消息 事務消息機制。 事務消息的發送和處理總結為四個過程: 1.生產者發送事務消息和執行本地事務 2.Broker存儲事務消息 3.Broker回查事務消息 4.Broker提交或回滾事務消息 生產者發送事務消息和執行本地事務。 發送過程分為兩個階段: 第一階段,發送事務消息 第二階段,發…

Spring Expression Language (SpEL)

Spring 表達語言&#xff08;SpEL&#xff09;&#xff0c;支持在運行時查詢和操作對象圖&#xff0c;可以用于數據綁定、屬性訪問、方法調用等。使用SpEL可以簡化代碼并提高應用程序的可維護性。 1 概覽 SpelExpressionParser是SpEL的一個核心組件&#xff0c;負責解析和編譯…

CentOS安裝編譯Python3.11.6

CentOs自帶python2版本太低&#xff0c;項目需要python3&#xff0c;于是自己安裝python 操作指南&#xff1a; 重新下載源代碼&#xff1a; # 刪除舊的 Python 源代碼文件&#xff08;如果有&#xff09; rm -rf Python-3.11.6.tar.xz # 下載 Python 3.11.6 的源代碼文件 wget…