vue php企业站案例,vue 开发企业微信整合案例分析

本文实例讲述了vue 开发企业微信整合。分享给大家供大家参考,具体如下:

概述

手机端程序可以和企业微信进行整合,我们也可以使用企业微信JSSDK功能,实现一些原生的功能。

整合步骤

在整合之前需要阅读 整合步骤。

1.引入JSSDK

npm i -S weixin-js-sdk 这样就引入了微信sdk。

2.通过config接口注入权限验证配置

export function initWxConfig(vm){

var url=_baseUrl + "/initConfig.do";

var curUrl=location.href.split("#")[0];

var params="url="+curUrl;

vm.$ajax.post(url,params).then(res=>{

var data=res.data;

wx.config({

beta: true,

debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId: data.appId, // 必填,公众号的唯一标识

timestamp: data.timestamp, // 必填,生成签名的时间戳

nonceStr: data.nonceStr, // 必填,生成签名的随机串

signature: data.signature, // 必填,签名,见附录1

jsApiList: [

'chooseImage',

'previewImage',

'uploadImage',

'downloadImage',

'previewFile',

'getLocation',

]

});

wx.error(function (res) {

console.log("调用微信jsapi返回的状态:"+res.errMsg);

});

}).catch(function(error) {

//vm.errorToast(error,1000);

console.info(error);

})

}

服务端

initConfig.do 对应的代码。

这个微信需要绑定到一个应用中,我们需要定义应用的可信域名。

d2a1aea1f9aaf249765157aeae18ba68.png

在企业微信登陆后,我们会记录一个应用的ID。

在服务端调用方法:

public static Map getWxConfig(String url,String corpId,String secret) throws Exception {

TokenModel tokenModel = TokenUtil.getEntTicket(corpId, secret);

String timestamp = Long.toString(System.currentTimeMillis() / 1000); // 必填,生成签名的时间戳

String nonceStr = UUID.randomUUID().toString(); // 必填,生成签名的随机串

String ticket=tokenModel.getToken();

String signature = "";

// 注意这里参数名必须全部小写,且必须有序

String sign = "jsapi_ticket=" + ticket + "&noncestr=" + nonceStr+ "&timestamp=" + timestamp + "&url=" + url;

try {

MessageDigest crypt = MessageDigest.getInstance("SHA-1");

crypt.reset();

crypt.update(sign.getBytes("UTF-8"));

signature = byteToHex(crypt.digest());

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

Map ret = new HashMap();

ret.put("appId", corpId);

ret.put("timestamp", timestamp);

ret.put("nonceStr", nonceStr);

ret.put("signature", signature);

return ret;

}

3.这个配置代码在应用启动时执行。

import {initWxConfig} from '@/assets/app.js';

d86bbd9285e4fd2eaa1130e5f5f6ebbf.png

4.使用相应的API

wxImage(type){

var self_=this;

wx.chooseImage({

sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有

sourceType: [type], // 可以指定来源是相册还是相机,默认二者都有

success: function (res) {

var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片

for(var i=0;i

wx.uploadImage({

localId: localIds[i], // 需要上传的图片的本地ID,由chooseImage接口获得

isShowProgressTips: 1, // 默认为1,显示进度提示

success: function (res) {

var serverId = res.serverId; // 返回图片的服务器端ID

var url=_baseUrl +"/wx/saveFile.do";

var params="mediaId=" + serverId;

self_.$ajax.post(url,params).then(res=>{

var data=res.data;

self_.handFile(data);

});

}

});

}

}

});

}

选择相册或者拍照。

希望本文所述对大家vue.js程序设计有所帮助。

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

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

相关文章

Invalid Gradle JDK configuration found_带你了解Gradle编译速度是如何提升70%的

前言Gradle作为一款基于Groovy语言的构建工具,已经吸引众多的ant,maven使用者转投gradle的怀抱,和Gradle相比,ant显得冗余复杂,maven显得有些死板落后,而gradle基于DSL语法,特点明显&#xff1a…

【游戏开发】C 游戏编程实例

网络游戏开发分为:服务器编程、客户端编程、人工智能、数据库管理、游戏策划、美工设计、音乐特效等。大型游戏往往需要团队合作开发,因此面向对象的编程思想在网络游戏中得到了广泛应用。游戏开发基本流程:游戏初始化——游戏实现——游戏结…

jax-rs/jersey_使用JAX-RS(Jersey)的HTTP状态错误消息响应中的自定义原因短语

jax-rs/jersey在我最近的一些工作中,我收到了在发生错误时在HTTP状态响应中生成自定义“原因短语”的请求,并将其传递给使用我们REST API的客户端之一。 在这篇文章中,我将演示如何使用Jersey来实现这一目标。 1.定义检查的异常和异常映射器…

linux内核3.14.4,Linux内核4.14.14,4.9.77,4.4.112和3.18.92更新发布

原标题:Linux内核4.14.14,4.9.77,4.4.112和3.18.92更新发布导读正如所承诺的,Linux内核维护者Greg Kroah-Hartman今天发布了针对长期支持的Linux 4.14,4.9,4.4和3.18内核系列的一系列新更新。这些新内核在他们之前发布的一个星期后…

springboot 获取登录浏览器_java项目部署到linux服务器,微信小程序后台springboot项目部署到云服务器(图文详解)...

前面给大家讲了一个点餐系统的开发,包括java点餐后台和微信点餐小程序。可是都是教大家如何在本地把项目跑起来。今天就来教大家如何把这个点餐系统部署到服务器,实现商用。传送门点餐系统的开发,java后台微信小程序:https://blog…

spring体系结构_了解Spring Web应用程序体系结构:经典方法

spring体系结构每个开发人员必须了解两件事: 架构设计是必要的。 花哨的体系结构图没有描述应用程序的真实体系结构。 真正的体系结构是从开发人员编写的代码中找到的,如果不设计应用程序的体系结构,最终将得到一个具有多个体系结构的应用…

C 网络库都干了什么?

虽然市面上已经有很多成熟的网络库,但是编写一个自己的网络库依然让我获益匪浅,这篇文章主要包含:TCP 网络库都干了些什么?编写时需要注意哪些问题?CppNet 是如何解决的。首先,大家都知道操作系统原生的soc…

linux脚本登录启动失败,linux – 在X上运行shell脚本失败登录尝试

Alrighty.我想到了.要小心不要搞砸,因为如果你做错了,可能会搞砸你的系统.如果您对此感到不舒服,最好先在虚拟机中进行尝试.教程>创建脚本.在本教程中,我将把脚本放在/var/myscript.sh中.您可以安全地将脚本路径替换为脚本所在的位置.在任何情况下,请确保脚本不会以0以外的任…

iphone屏幕录制_iPhone怎么内录声音?怎么录制苹果手机内部声音?

有时我们想要对苹果手机上播放的声音进行录音,却不知道该如何操作。苹果手机上自带的录音软件只可以对手机外部声音进行录制,却无法录制自身播放的声音。其实我们可以先将苹果手机屏幕及声音先投放到电脑上,再通过支持内录的软件进行录音就可…

docker 部署java_使用Java EE 7,WildFly和Docker进行持续部署–(第1部分)

docker 部署java此博客是开始一个新的hanginar(G 结伴旅游 webi NAR),将突出解决方案,框架,应用服务器,工具,部署和更多的内容集中在Java EE的系列。 这些不是通常的会议风格独白演示&#xff…

C 中命名空间的五大常见用法

译者注:可能很多程序员对C 已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。命名空间在1995年被引入到 c 标准中,通常是这样定义的:命名空间定义了新的作用域。它们提供了一…

linux 脚本 提示编辑器,javascript – 带脚本的文本编辑器…适用于Linux

所有主要的开源编辑器和大多数其他编辑器都有一些描述的脚本设施 – 有些(特别是Emacs)因此而闻名.唯一不像pico.那样非常轻量级的那些vim有一个native scripting language,也可以用嵌入式Python, Tcl或Perl interpreters构建,可以通过插件机制对选择,缓冲等进行操作. Emacs是关…

英伟达TX2烧录系统_英伟达的DPU,是想在数据中心奇袭英特尔?

热点追踪 / 深度探讨 / 实地探访 / 商务合作最近几年,经常关注科技圈的朋友们总会发现,每次遇到厂商有重大发布,就总能看到“颠覆”、“极致”、“革命性”等概念出现在发布会上。上周,iPhone12的发布现场,蒂姆库克就用…

代码jit_但这是不可能的,或者无法发现JIT破坏了您的代码。

代码jit时不时地查看一些代码,并认为它不可能是错误的。 一旦排除了简单的程序员搞砸代码/代码中的敌对行为(确保您阅读Java Puzzlers或类似内容)或并发性问题(阅读Java并发性或继续学习Heniz博士的出色课程 )&#xf…

C vector详解

【导读】:vector是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,vector是一个能够存放任意类型的动态数组。接下来,请跟随小…

Linux共享文件夹中毒,linux服务器中毒利用Find查找病毒例子

网上流行在用的特征码是:(PS:不过一定有遗留)后门特征->cha88.cn后门特征->c99shell后门特征->phpspy后门特征->Scanners后门特征->cmd.php后门特征->str_rot13后门特征->webshell后门特征->EgY_SpIdEr后门特征->tools88.com…

arcgis 出图背景_ArcGIS空间制图分析视频教程(二狮兄出品)含ArcMap

这套教程是二狮兄出的一套ArcGIS地理空间制图数据分析视频教程,含ArcMap/ArcCatalog部分。教程分为上中下三部,已全部录制完毕,全部课程120节。适用人群ArcGIS目前的应用范围非常广泛,包括但不限于从事地理景观、生态环境、规划设…

spring bean依赖_Spring @Configuration并将bean依赖项作为方法参数注入

spring bean依赖一个春天建议注射豆从Spring的参考指南复制下面的示例中显示之间的相互依存关系的方式在这里 : Configuration public class AppConfig {Beanpublic Foo foo() {return new Foo(bar());}Beanpublic Bar bar() {return new Bar("bar1");}}…

C 之父:C 的成功属于意料之外,C 11是转折点

C 的起源可以追溯到 40 年前,但它仍然是当今使用最广泛的编程语言之一。到 2020 年 9 月为止,C 是仅次于 C 语言、Java 和 Python,位于全球第四的编程语言。根据最新的 TIOBE 索引,C 也是增长最快的语言。近日,C 之父 …

aix磁盘挂载到linux,AIX下文件系统挂载点相互调换方案

由于业务发展的需要,企业在异地实现了数据块级的灾备,由于原来的备份目录lv所在VG恰好在远程灾备VG内(该方案实现的是vg级别的数据同步),为了节省带宽所以又从存储上新划分出一块磁盘新建了一个vg作为备份空间使用。但是由于当时厂商在创建vg…