微信小程序WebView嵌入别人网页的解决办法

news2024/11/15 11:49:45

写在前面,小程序必须是热认证的企业小程序,个人小程序不支持WebView组建。

方法一:

在做微信小程序开始时,大家都能遇到,WebView组件使用的URL必须要在小程序的后台设置业务域名,并且在对应域名服务器根目录下要放置对应的验证文件,否则发布后是无法正常打开的。

在开发测试时,我在小程序中嵌入了一个别人的网页。自己又不能在别人的服务器上放置验证文件,导致了发布后小程序的WebView中的内容无法正常显示。
在这里插入图片描述
解决办法
因为这里有服务器和域名,因此使用了以下的方法

  1. 使用nginx将目标网址的代理到自己的二级域名下
  2. 将小程序验证文件的请求指向我本地服务上的验证文件:
server {
    listen       8778;
    server_name  ltzf.agribigdata.com.cn;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    # iframe 跨域问题
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_hide_header X-Frame-Options;
        add_header X-Frame-Options ALLOWALL;
        add_header Access-Control-Allow-Origin *; # 必须要有
        add_header Access-Control-Allow-Headers *; # 必须要有

    #location / {
     #   root   /usr/share/nginx/ltzf;
    #    index  index.html index.htm;
    #}
    location =/4nzqVbVMLP.txt {
        root   /usr/share/nginx/ltzf;
        index  4nzqVbVMLP.txt;
    }
    location ^~/ {
    proxy_set_header Accept-Encoding "";
    proxy_set_header Referer "https://h5.aicloudav.com/";
    proxy_pass https://h5.aicloudav.com/;

    add_header Access-Control-Allow-Origin *;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/nxh5cj;
    }
}

这样配置后,通过了微信的认证,小程序端正常显示

方法二:

微信小程序跳转微信内置浏览器

查阅了大量资料,发现有两种实现方式。

1、通过微信公众号文章实现

小程序可以使用web-view打开关联的公众号文章,公众号文章可以在阅读全文放任一链接,小程序打开此文章后点击阅读全文就可以跳到微信内置浏览器。

需要相关联的公众号,而且需要用户先点开一篇文章,再点击阅读全文才能跳转到相应的链接。

2、通过微信小程序客服消息实现

当用户点击小程序客服按钮进入会话,给后台传送参数,后台接收并处理,经过接口实现自动回复。

3、通过云开发实现

https://blog.csdn.net/baidu_38493460/article/details/124241960

主要讲解的是第二种实现方式。

1)微信公众平台开通客服消息
在这里插入图片描述
2)生成AppSecret

注意:AppID是明文显示的,可以直接获得。AppSecret需要点击右侧的重置获得,需要注意的是AppSecret只会显示一次,需要自己保存下来,下次无法获得之前的AppSecret,只能重置。
在这里插入图片描述
3)接入消息推送

开发管理-开发设置-消息推送,填写相关配置

URL:接口地址,可以先不写

Token:随意设置,接口调用微信时使用

EncodingAESKey:自动生成,接口调用微信时使用

在这里插入图片描述
AppIDAppSecretTokenEncodingAESKey发给后端人员开发消息推送接口,然后把后端人员写好的接口地址填入消息推送的URL中

4)接入客服功能

小程序客服会话功能,用户进入客服会话可以传递参数到后端api地址,使用post方法接收,保存到txt就可以。使用属性:session-from就可以。如下图:
在这里插入图片描述
5)以上步骤设置好以后,就可以得到默认回复了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/731676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hexo #01 安装

本篇主要步骤 1、前置环境2、安装 hexo3、初始化 hexo4、运行 hexo 1、前置环境 参考官网教程:hexo 博客系统安装前提 2、安装 hexo 这里采用官网推荐的第二种方式局部安装 hexo 包。 $ npm install hexo3、初始化 hexo 创建一个空文件夹,用来作为项…

mysql 数据库备份和还原

数据库备份 第一步:先在环境变量Path里面加上mysql bin目录的路径 第二部:执行对应的命令 备份数据库中的表: 命令: mysqldump -u root -p fenku_lianxi customer > d:\temp.sql root是 账号 username fenku_lianxi是数据…

科技资讯|苹果Vision Pro手部追踪和手势相关新专利曝光

近日,美国专利商标局正式授予苹果一项与 Apple Vision Pro 主要功能相关的专利:手部追踪和手指手势。 苹果专利指出,沉浸感的质量取决于几个重要因素。例如,显示器的特性,如图像质量、帧率、像素分辨率、高动态范围 …

MATLAB|考虑自动重合闸与分布式能源的配电网可靠性评估研究

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

MacOS Sonoma 14.0 (23A5286g) Beta3 带 OC 0.9.3 and FirPE 双分区原版黑苹果镜像

苹果今日向 Mac 电脑用户推送了 macOS 14 开发者预览版 Beta3 更新(内部版本号:23A5286g),本次更新距离上次发布隔了 14 天。 一、镜像下载: 1.微信公众号:macOS Sonoma 14.0 (23A5286g) Beta3 带 OC 引导…

染色法判定二分图 — DFS深搜 +BFS宽搜

染色法判定二分图 — DFS深搜 题目描述 给定一个 n n n 个点 m m m 条边的无向图,图中可能存在重边和自环。 请你判断这个图是否是二分图。 输入格式 第一行包含两个整数 n n n 和 m m m。 接下来 m m m 行,每行包含两个整数 u u u 和 v v …

C++教程——继承、多态

继承 继承方式 继承中的对象模型 继承中构造和析构顺序 继承中同名成员处理方式 继承中同名静态成员处理方式 多继承语法 菱形继承 虚继承解决资源浪费的问题 底层原理 多态 多态的原理剖析 纯虚函数与抽象类 虚析构与纯虚析构 虚析构

【Linux系统编程】20.程序、进程、CPU和MMU、PCB

目录 程序 进程 CPU和MMU PCB 程序 编译好的二进制文件,存在磁盘上,只占用磁盘资源。 进程 进程是活跃的程序,占用系统资源,在内存中执行。程序运行起来,产生一个进程。 程序类似于剧本,进程类似于一场…

为何OpenAI能领先大厂开发出如ChatGPT的模型

为何OpenAI能领先大厂开发出ChatGPT的大模型? 信仰和环境缺一不可,不是因为OpenAI从0到1创造性的搞出来大模型,而是信仰和环境造就了ChatGPT大模型 在谈论为何中国乃至其他国家的大厂未能开发出如ChatGPT的模型时,我们需要强调&am…

使用electron打包spring-boot+vue项目开发桌面exe端项目一站式全部解决!专栏有解决报错文章

准备工具 前端:node.js 14以下(直接安装 node.js 即可) 后端:jre 1.8(必须1.8) 工具: Bat_To_Exe_ConverterInno_Setup 汉化版(英文版不支持简体中文,打包出来的安装界面是英文的)我以及给大家汇总完毕直接点击进去下载即可 https://pan.baidu.com/s/1XoA0tj3b4Q…

Geoserver静态瓦片服务

愿你出走半生,归来仍是少年! 1.静态瓦片服务 此处描述的静态瓦片服务指瓦片本身存储于服务器的磁盘上,常用的服务类型包含了标准TMS服务以及Google的XYZ服务两种类型。 在Geoserver中常用的瓦片服务包含了WMS、WFS、TMS、WTMS等等。在面向数据更新频率不…

【送书福利-第十四期】ChatGPT时代 + PowerBI助力快速创建动态报表

大家好,我是洲洲,欢迎关注,一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我! 本文目录 一、前言二、内容介绍三、抽奖方…

Android 前台服务讲解

目录 Android 前台服务和后台服务区别 前台服务(Foreground Service): 后台服务(Background Service): 总结: 前台服务更新: JobScheduler、WorkManager 区别和使用方式 andro…

Python encode()函数详解,Python编码解码

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 encode 1、常见编码格式2、返回的是Bytes类型3、错误处理方式4、解码 encode() 可…

5道Mysql面试题

1.什么Mysql的事务?事务的四大特性? Mysql中事务的隔离级别分为四大等级:读未提交(READ UNCOMMITTED)、读提交 (READ COMMITTED)、可重复读 (REPEATABLE READ)、串行化 …

TensorBoard 没有数据

版本 TensorBoard 2.13.0 报错: 打开projector_plugin.py 42行 from tensorboard.compat import notf # noqa: F401 修改为: from tensorboard.compat import tensorflow_stub as tf

Petrozavodsk Winter 2023. Day 1 部分题解

前言:整场的题目质量比较高,虽然之前做过一部分题,但还是被薄纱了 Changing the Sequences 大意: 给定两个数组a,b,长度都为n,元素都介于1-m之间 定义一次操作如下: 构造一个1-m的排列p&…

B - Colorful Stamp

#include<iostream> #include<algorithm> #include<vector> #include<bitset> #include<cmath> #include<set> #include<climits> #include<queue> #include<cstring>//memset头文件 using i64 int64_t; using namespa…

Spring Boot中的会话管理是什么,如何使用

Spring Boot中的会话管理是什么&#xff0c;如何使用 在Web应用程序中&#xff0c;会话是一种存储用户状态信息的机制。Spring Boot提供了会话管理的支持&#xff0c;使得在开发Web应用程序时可以轻松地管理用户的会话信息。本文将介绍Spring Boot中的会话管理是什么以及如何使…

ARM day9 (按键中断控制led亮灭)

key.h #ifndef __KEY_H__ #define __KEY_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_uart.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_gic.h"//事件号 #define EXTI_…