php版 短信跳转微信小程序

news2024/9/21 17:43:04

实现这功能首先,小程序端添加业务域名 

php代码

<?php
declare (strict_types=1);

namespace app\controller\Admin;

use app\model\Set;
use app\Request;

class Admin_Url_Scheme
{
    public function getScheme(Request $request) {
        $appid = '小程序appid';
        $secret = '小程序appsecret';
        //path是要跳转的小城页面地址,query为要携带的参数
        $body = ['jump_wxa'=>['path'=>'/pages/index/index','query'=>$scheme['name']]];
        $tokenurl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $appid . '&secret=' . $secret;
        $data = file_get_contents($tokenurl);
        $data = json_decode($data, true);
        $token = $data['access_token'];
        $url = "https://api.weixin.qq.com/wxa/generatescheme?access_token=" . $token;
        $data = $this->curl_post($url, null, $body);
        if ($data['errmsg'] == 'ok'){
            return json(['code' => 200,'data'=>$data['openlink'], 'msg' =>'操作成功']);
        }else{
            return json(['code' => 201,'data'=>$data, 'msg' =>'异常']);
        }
    }

    function curl_post($url,$herder,$body){
//一般框架都会自带GuzzleHttp,没有的请手动安装,或者利用curl post请求
        $client = new \GuzzleHttp\Client();
        try {
            $pram = $client->post($url,[
                'headers'=>$herder,
                'json'=>$body,
            ]);
            $content = json_decode($pram->getBody()->getContents(),true);
            return $content;
        }catch (ErrorException $exception){
            return $exception->getCode();
        }

    }
}

下面使用js的location.href

location.href = 'https://***.***.com'

我前端用的是uniapp,vue的话要安装axios或者jq

<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
	</view>
</template>

<script>
	export default {
		data() {
			return {}
		},
		onLoad() {
			const that = this
			that.getScheme()
		},
		methods: {
			getScheme() {
				uni.request({
					url: 'https://***.****.com/admin/scheme', //仅为示例,并非真实接口地址。
					data: {
						name: 'qiqvxinxikeji'
					},
					success: (res) => {
						if (res.data.code === 200) {
							location.href = res.data.data
							return;
						}
					}
				});
			}
		}
	}
</script>

<style lang="scss">
	.content{
		font-family: 'Avenir', Helvetica, Arial, sans-serif;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		text-align: center;
		color: #2c3e50;
		margin-top: 60px;
	}
</style>

短信内容放前端链接地址,这样就可以通过打开游览器跳转到小程序了

注意

1.必须是发布的小程序才会被唤醒

2.接口有上限,如果需求不高不用理会

解决方法就是在请求的时候用redis存储url scheme返回的地址和请求时间, 设置一段时间再次发送新的请求再次覆盖存储数据

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

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

相关文章

问道管理:股票空头是什么意思?

在炒股的时分&#xff0c;咱们经常听到股票空头。那么股票空头到底是什么意思呢&#xff1f;股票空头是相对于股票多头而言的一个术语。股票多头指的是经买入股票并盈利的股民&#xff0c;而股票空头则指的是经过售卖股票猎取赢利的股民。 在一段时间内&#xff0c;股票的涨跌…

如何利用 Selenium 对已打开的浏览器进行爬虫

大家好&#xff01; 在对某些网站进行爬虫时&#xff0c;如果该网站做了限制&#xff0c;必须完成登录才能展示数据&#xff0c;而且只能通过短信验证码才能登录 这时候&#xff0c;我们可以通过一个已经开启的浏览器完成登录&#xff0c;然后利用程序继续操作这个浏览器&…

使用GPA和夜神模拟器实现K帧

之前使用过GPA配合夜神模拟器实现K帧&#xff0c;来查看实际的渲染情况&#xff0c;后来一段时间没有使用&#xff0c;就忘记了具体步骤&#xff0c;这次边试边实现一下相关的具体步骤。 首先去英特尔官网下载工具&#xff1a;https://www.intel.com/content/www/us/en/develo…

看完这位小哥的GitHub,我沉默了

就在昨天&#xff0c;一个名为win12的开源项目一度冲上了GitHub的Trending热榜。 而且最近项目的Star量也在飙升&#xff0c;目前已经获得了2.2k的Star标星。 出于好奇&#xff0c;点进去看了看。好家伙&#xff0c;项目README里写道这是一个14岁的初中生所打造的开源项目。 即…

Mybatis学习笔记1 Mybatis入门

差不多根据mybatis中文文档:创建第一个mybatismaven项目,将它跑起来 入门_MyBatis中文网 新建库 建表 创建项目 重启之后 配置下Maven与encoding 成习惯了 新建模块 注意:这个GroupId和ArtifactId version是之后,你用Maven install时候后存放的包路径和包名 目录结构:虽然换…

aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)

1.使用控制台创建即可 根据实例类型创建需要至少15分以上&#xff0c;可以提前创建好ec2实例和Secrets Manager,一会会使用到 2. 创建Secrets Manager &#xff08;使用无认证时请跳过&#xff09; 官方文档&#xff1a;https://docs.aws.amazon.com/zh_cn/msk/latest/deve…

Transformer(一)—— Attention Batch Normalization

Transformer详解 一、RNN循环神经网络二、seq2seq模型三、Attention&#xff08;注意力机制&#xff09;四、Transformer4.1 self attention4.2 self-attention的变形——Multi-head Self-attention4.3 Masked Attention4.4 Positional Encoding4.5 Batch Normalization4.6 Lay…

接口自动化之测试数据动态生成并替换

一、测试数据 1. 随机库random 查看内置random方法&#xff0c;该方法自行学习&#xff0c;不再介绍。 show 2. Faker库 pip install faker showHttps://github.com/joke2k/faker 3. 应用到项目中 3.1 思路 在用例数据中添加标志位&#xff0c;设计这个标志位为 {{特…

“数智+绿色”驱动,宏工科技助力线缆线材稳定高品质生产

9月4日-7日&#xff0c;WIRE CHINA 2023中国国际线缆及线材展览会在上海新国际博览中心举办。宏工科技现场展出线缆线材自动化生产一站式解决方案&#xff0c;与现场观众共商“数字化、智能化、绿色化”发展机遇。 线缆是制造业中最大或产品使用范围最广的基础性配套产业之一&a…

索尼 toio™ 应用创意开发征文|创新音乐创作工具的诞生

引言 音乐创作一直是人类创造力的一项重要表现形式。然而&#xff0c;随着技术的不断进步&#xff0c;我们希望能够开发出更加创新的音乐创作工具&#xff0c;以激发音乐人的灵感和创造力。toio™音乐Q宝的诞生正是为了满足这一需求。 一、开发 1.1 toio™机器人初邂逅 toi…

测试开发 | Java 接口自动化测试首选方案:REST Assured 实践

1 . 初识 REST Assured 在 REST Assured 的官方 GitHub 上有这样一句简短的描述&#xff1a; Java DSL for easy testing of REST services 简约的 REST 服务测试 Java DSL 1.1 优点&#xff1a; REST Assured 官方的 README 第一句话对进行了一个优点的概述&#xff0c;总的…

如何把Word转换成PDF文档?分享操作简单的方法

在人们办公过程中&#xff0c;word、excel以及pdf这三种格式的文件经常会被使用到。这三类文件因为格式不同&#xff0c;使用时理论上应该是各管各的&#xff0c;但是实际使用时却时不时会遇到要对它们三者进行格式转换的情况。那么&#xff0c;如何把Word转换成PDF文档呢?接下…

通过IP地址进行精准定位技术、方法与隐私问题的探讨

导语&#xff1a;随着互联网和移动设备的普及&#xff0c;通过IP地址进行精准定位已成为现实。这一技术的发展带来了许多便利&#xff0c;但也引发了隐私问题的关注。本文将探讨通过IP地址进行精准定位的技术、方法以及涉及的隐私问题。 技术和方法&#xff1a; IP地址的基…

荧光量子产率测试用的是什么积分球

LED(Light-EmittingDiode)作为一种新型的固态光源&#xff0c;以其绿色环保、寿命超长、高效节能等特点成为继白炽灯、荧光灯和高压气体放电灯之后的第四代照明光源。 蓝光LED芯片和钇铝石榴石&#xff08;YAG&#xff09;荧光粉封装在一起得到白光LED的方法具有结构简单、制作…

线程池|单例模式|STL、智能指针线程安全|读者写者问题

线程池 线程池的逻辑思想&#xff1a; 每当我们处理一个任务就要创建一个线程&#xff0c;创建线程的开销是很大的。因此我们可以预先创建一批线程&#xff0c;任务队列里没有任务的时候&#xff0c;每个线程都休眠&#xff0c;当队里中有任务的时候&#xff0c;就可以唤醒线程…

牵手时代少年团,来伊份讲了一个“新鲜”故事

从数天前来伊份官方发布一组悬念九宫图海报开始&#xff0c;其新代言人的身份就呼之欲出。 9月7日上午9点&#xff0c;来伊份正式宣布时代少年团为全新品牌代言人。这一官宣在微博引爆并引发了轰动效应&#xff0c;同时代言人同款IP礼盒“伊份心选”正式发售。 图源&#xff1…

马拉松成绩训练利器“亚索800”

在马拉松火热的今天&#xff0c;跑圈中流行着各种各样的马拉松训练方法 其实在众多的流派体系中基本可归纳为两类&#xff1a; 1、强调基础有氧训练&#xff0c;以中低强度长时间跑步训练为主&#xff0c;LSD、MAF180、细胞分裂法都归属于这类训练&#xff1b; 2、强调高强度间…

大数据技术之Hadoop:Yarn集群部署(七)

目录 一、部署说明 二、集群规划 三、开始配置 3.1 MapReduce配置文件 3.2 YARN配置文件 3.3 分发配置文件 四、集群启停 4.1 命令介绍 4.2 演示 4.3 查看YARN的WEB UI页面 一、部署说明 Hadoop HDFS分布式文件系统&#xff0c;我们会启动&#xff1a; NameNode进…

帆软报表简单设置分组汇总

前言 接手之前同事留下的一个胶膜产品入库登记表&#xff08;帆软报表&#xff09;&#xff0c;结果手滑把原来的报表行删除了。用户反馈需要恢复按报表中 “型号” “卷数” 分组汇总一下 “件数” 字段的值、也就是按每种同型号同卷数分组、相同分组的要有一行汇总&#xf…

将 Qt Designer 的 ui 文件转换为 PySide2 使用的.py 文件

20201206 修订&#xff1a;在 Pyside2 的 5.15.2 版本中&#xff0c;从 ui 生成 py 文件过程&#xff0c;命令从 “uic” 变为 “pyside2-uic” Qt Designer 设计的 ui 文件&#xff0c;就是一个 xml 文件&#xff0c;通过 pyside-uic 可以转换成标准的.py 文件 。通过 QtDesi…