WPS加载项(wps jsapi)创建及部署--新版

1,在桌面新建文件夹wpsjsapitest,在命令提示符中转到wpsjsapitest路径下,

2,新建加载项HelloWps、HelloEt、HelloWpp

(i),在命令提示符中执行命令wpsjs create HelloWps

(ii),在命令提示符中执行命令wpsjs create HelloEt

(iii),在命令提示符中执行命令wpsjs create HelloWpp

以下四步(3,4,5,6)是在不采用wpsjs publish命令时的做法(其实执行wpsjs publish,会生成一个wps-addon-build文件夹,里面内容与下面手动复制的内容一致,另外会生成一个wps-addon-publish文件夹,里面放置publish.html)。

3,在D:\Tomcat 8.*\webapps\下新建文件夹wpsjsapitest,在wpsjsapitest文件夹下新建HelloWps、HelloEt、HelloWpp,

4,将桌面wpsjsapitest\HelloWps目录下的images目录、js目录,ui目录、index.html、main.js、ribbon.xml复制到D:\Tomcat 8.*\webapps\wpsjsapitest\HelloWps目录下。

5,将桌面wpsjsapitest\HelloEt目录下的images目录、js目录,ui目录、index.html、main.js、ribbon.xml复制到D:\Tomcat 8.*\webapps\wpsjsapitest\HelloEt目录下。

6,将桌面wpsjsapitest\HelloWpp目录下的images目录、js目录,ui目录、index.html、main.js、ribbon.xml复制到D:\Tomcat 8.*\webapps\wpsjsapitest\HelloWpp目录下。

注意,D:\Tomcat 8.*是tomcat服务器目录,运行demo时请保证tomcat服务器在运行状态。

7,在桌面新建文件夹“wps jsapi test caller”,里面放三个文件,index.html,wpsjs_func.js,wpsjsrpcsdk.js,其中wpsjsrpcsdk.js是npm安装wpsjs时下载到本地的库。
浏览器打开index.html,点击第一个按钮,即可启动wps、et、或wpp(注意参数设置,下面的代码里有详细解释),并打开本地文档
例子见https://download.csdn.net/download/daqinzl/89303452。

index.html文件内容如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>测试集成页面</title>
    <style>
        div {
            margin: 5px 3px;
        }
    </style>
</head>

<body>
    <div><button οnclick="action1();">执行加载项函数InvokeFromSystemDemo</button></div>
    <div><button οnclick="action2();">传递一个Object至WPS</button></div>
    <div><button οnclick="action3();">传递一个String至WPS</button></div>
    <script src="wpsjsrpcsdk.js"></script>
    <script src="wpsjs_func.js"></script>
    
    
    <script type="text/javascript">        
        function action1() {                        
            var readOnly=false;
            //打开word时参数设置如下,注意与wpsjs_func.js里url设置一致
            var type = "wps";
            var filePath = "D:/test.docx";
            
            //打开excel时参数设置如下,注意与wpsjs_func.js里url设置一致
            type = "et";
            filePath = "D:/test.xlsx";
            
            //打开ppt时参数设置如下,注意与wpsjs_func.js里url设置一致
            type = "wpp";
            filePath = "D:/test.pptx";
            
            wpsJs_openFile(type, filePath, readOnly);
        }
        function action2(params) {
            
        }
        function action3(params) {
            
        }
    </script>
</body>

</html>


///
wpsjs_func.js文件内容如下:

function wpsJs_openFile(type, filePath, readOnly) {
    var element = {
        "name": wpsjs_GetAddonName(type),
        "addonType": type,
        "online": "true",
        
        //打开word,excel,ppt时请设置不同url
        "url": "http://127.0.0.1:80/wpsjsapitest/HelloWps/"
        //"url": "http://127.0.0.1:80/wpsjsapitest/HelloEt/"
        //"url": "http://127.0.0.1:80/wpsjsapitest/HelloWpp/"        
    }
    console.log('wpsjs_StartUp', element)
    WpsAddonMgr.enable(element, function(res) {
        console.log("启用加载项" + type + "结果:", res);
        var invokeParam = {
            filePath: filePath,
            readOnly: readOnly            
        }
        WpsInvoke.InvokeAsHttps(
            type,
            wpsjs_GetAddonName(type), //wps加载项的名字,在实际项目中写上对应的名字            
            "InvokeFromSystemDemo", //要调用的在wps加载项中的函数名
            JSON.stringify(invokeParam), //调用的在wps加载项中的函数要传递的数据,是一个json对象,根据业务系统需求任意定义
            wpsjs_CallBackFunc) //回调函数,wps加载项中InvokeFromSystemDemo这个函数的返回值作为这个函数的参数
    })

}

function wpsjs_GetAddonName(type) {    
    if (type == 'wps')        
        return 'HelloWps'
    else if (type == 'et')        
        return 'HelloEt'
    else if (type == 'wpp')        
        return 'HelloWpp'
    return 'addon'
}

var wpsjs_CallBackFunc = function(result) {
    
}

///
D:\Tomcat 8.*\webapps\wpsjsapitest\HelloWps\js\systemdemo.js文件内容如下

function openOfficeFileFromSystemDemo(param){
    let jsonObj = (typeof(param)=='string' ? JSON.parse(param) : param)
    alert("从业务系统传过来的参数为:" + JSON.stringify(jsonObj))
    return {wps加载项项返回: jsonObj.filepath + ", 这个地址给的不正确"}
}

function InvokeFromSystemDemo(param){
    
    let jsonObj = (typeof(param)=='string' ? JSON.parse(param) : param);
    
    let readOnly = jsonObj.readOnly;
    let filePath = jsonObj.filePath;
    
     console.log("before open jsonObj:", jsonObj);
    wps.PluginStorage.setItem("readOnly", readOnly);
    
    let _readOnly = wps.PluginStorage.getItem("readOnly");
     wps.WpsApplication().Documents.Open(filePath, null, _readOnly);
     
    return {操作结果:"打开word文件成功", readOnly: readOnly};
    
}

///
D:\Tomcat 8.*\webapps\wpsjsapitest\HelloEt\js\systemdemo.js文件内容如下

function openOfficeFileFromSystemDemo(param){
    let jsonObj = (typeof(param)=='string' ? JSON.parse(param) : param)
    alert("从业务系统传过来的参数为:" + JSON.stringify(jsonObj))
    return {wps加载项项返回: jsonObj.filepath + ", 这个地址给的不正确"}
}

function InvokeFromSystemDemo(param){
        
    let jsonObj = (typeof(param)=='string' ? JSON.parse(param) : param)
    let readOnly = jsonObj.readOnly
    let filePath = jsonObj.filePath;
    // console.log("before open jsonObj:", jsonObj)
    wps.PluginStorage.setItem("readOnly", readOnly)
    
    let _readOnly = wps.PluginStorage.getItem("readOnly")
    wps.EtApplication().Workbooks.Open(filePath, null, _readOnly)
        
    return {操作结果:"打开excel文件成功", readOnly: readOnly}
    
}

///
D:\Tomcat 8.*\webapps\wpsjsapitest\HelloWpp\js\systemdemo.js文件内容如下

function openOfficeFileFromSystemDemo(param){
    let jsonObj = (typeof(param)=='string' ? JSON.parse(param) : param)
    alert("从业务系统传过来的参数为:" + JSON.stringify(jsonObj))
    return {wps加载项项返回: jsonObj.filepath + ", 这个地址给的不正确"}
}

function InvokeFromSystemDemo(param){
    
    let jsonObj = (typeof(param)=='string' ? JSON.parse(param) : param)
    let readOnly = jsonObj.readOnly
    let filePath = jsonObj.filePath;
    console.log("before open jsonObj:", jsonObj)
    wps.PluginStorage.setItem("readOnly", readOnly)    
    
    let _readOnly = wps.PluginStorage.getItem("readOnly")
    wps.WppApplication().Presentations.Open(filePath, _readOnly)
    return {操作结果:"打开ppt文件成功", readOnly: readOnly}
    
}
 

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信JSApi支付是指在微信公众号或小程序内使用JSAPI调起微信支付功能,实现用户在微信内完成付款的一种方式。以下是常见的问题及解决方法: 1. 支付时提示“商户订单号重复” 解决方法:修改商户订单号,确保每笔订单的商户订单号唯一。 2. 支付时提示“支付金额与订单金额不一致” 解决方法:检查订单金额和实际支付金额是否相同,确保订单金额与实际支付金额一致。 3. 支付时提示“支付失败,请稍后再试” 解决方法:检查支付参数是否正确,确保支付参数的完整性和准确性。 4. 支付时提示“当前用户未授权,请先授权登录” 解决方法:用户需要先授权登录,获取用户信息后才能进行支付操作。 5. 支付时提示“当前用户未关注公众号” 解决方法:用户需要先关注公众号,才能进行支付操作。 6. 支付时提示“商户号与appid不匹配” 解决方法:检查商户号和appid是否对应,确保商户号和appid的匹配性。 7. 支付时提示“订单已关闭” 解决方法:订单可能已经被关闭或者已经完成支付,需要重新下单。 8. 支付时提示“系统繁忙,请稍后再试” 解决方法:服务器可能正在维护或者出现故障,需要等待一段时间后再尝试支付。 以上是微信JSApi支付常见问题及解决方法,如果以上方法无法解决问题,可以联系微信支付客服进行咨询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值