• 关于

    html5调用手机api

    的搜索结果

问题

求助懂的朋友搞下,跨域调用xml文件,十分感谢。。

之前发过一次求助帖,没有能够搞定,今天再发一次,具体情况是这样的,ECS服务器上的静态页面调用OSS上的xml文件,结构是HTML5,html+js...
春秋互动 2019-12-01 21:07:52 6564 浏览量 回答数 1

回答

Reoss跨域请教。。。知道的朋友帮下忙,谢谢 没人知道么? ------------------------- 回2楼千鸟的帖子 就是公共读 ------------------------- Reoss跨域请教。。。知道的朋友帮下忙,谢谢 你可以理解成为是一个静态网站,只是这个静态网站有两部分,一部分是flash,一部分是html5.当电脑访问的时候,自动识别跳转到flash版本,当为支持html5的设备时,跳转到html5的页面。 我是把首html文件,放在了阿里云ECS上,里面的flash和image、js等文件都放了oss上。当电脑访问(flash)的时候,一切正常,当为手机或平板的时候,提示是文件不允许被读取。。。。 我试过在两台不同的阿里云ECS服务器上的两个不同 域名的站点,实现HTML5跨域调用,设置http头为《 Access-Control-Allow-Origin》,调用一切正常,同样的程序搬到oss上,谷歌的开发人员工具现实: [font=Consolas, 'Lucida Console', monospace]No 'Access-Control-Allow-Origin' header is present on the requested resource.。。。。 [font=Consolas, 'Lucida Console', monospace]这就是需要oss api手册上5.6的那些东西了。。。 [font=Consolas, 'Lucida Console', monospace] [font=Consolas, 'Lucida Console', monospace] [font=Consolas, 'Lucida Console', monospace]只是不知道手册上的api应该怎么用 ------------------------- Reoss跨域请教。。。知道的朋友帮下忙,谢谢 没人知道么?
春秋互动 2019-12-02 00:03:18 0 浏览量 回答数 0

问题

短信接口调用错误码

调用API接口会产生接口调用错误码,常见接口调用错误码显示及修改建议,请参考以下列表: 调用接口成功后,运营商异步返回的短信发送状态错误码。请见【短信发送状态回执错误码】 ...
nicenelly 2019-12-01 20:59:28 3100 浏览量 回答数 1

问题

DD官方会不会考虑加入HTML5+RUNTIME以增强容器的能力?

http://dcloud.io/runtime.html 如果容器加入了这个能力,将为开发webapp(微应用)提供更多原生能力,以及更好的体验。希望官方可以考虑 5+Runtime-增强...
人在囧途 2019-12-01 21:06:26 2258 浏览量 回答数 1

问题

阿里云号码隐私保护,打电话显示第三方号码,保护你的号码隐私

AXB中间号 购买一个x号码,可以绑定200个号码,绑定后你打电话给别人时,显示的来电就是x号码,别人看不到你的真实号码,可以保护你的号码隐私 开通网址: ...
whosoft 2019-12-01 21:34:37 4967 浏览量 回答数 4

问题

支付宝小程序云训练营优秀学员提问来啦

看书学不够,想要跟着大佬实操!为了满足大家这个愿望,开发者社区特别推出小程序云7天训练营,为大家请到支付宝专家团队,旨在从认识小程序云,到掌握云开发、小程序...
问问小秘 2020-06-15 15:57:38 159 浏览量 回答数 1

问题

手机直播APP又在升温,直播开发功能很重要

手机直播APP又在升温,直播开发功能很重要 第三季度,天鸽互动经调整后的营收为2.74亿元,同比增长16.2%;经调整后的纯利为1.28亿元,同比增56...
daimeng1 2019-12-01 22:10:14 3310 浏览量 回答数 2

回答

背景 目前支付宝推出了新的签名方式,除了使用RSA2普通公钥方式签名外,新增了公钥证书的签名方式,但是2者使用有什么不同呢? 从公钥设置方式、sdk版本、sdk签名方式、sdk验签方式 一、接口加签方式 根据应用中“接口加签方式”的“选择加签模式”,进行对应的模式签名。 1、RSA2普通公钥 RSA2普通公钥签名需选择“选择加签模式”的“公钥”模式。 普通公钥设置密钥方式详见【如何设置普通公钥】。 2、公钥证书 公钥证书签名需选择“选择加签模式”的“公钥证书”模式。 公钥证书置密钥方式详见【如何设置公钥证书】。 200325-1.png 二、sdk版本 目前新版的sdk都是支持RSA2普通公钥和公钥证书,但是低版本的sdk是只支持RSA2普通公钥的签名方式。 证书签名SDK版本Java版SDK支持4.4.5.ALL及以上版本。 证书签名SDK版本php版SDK支持alipay-sdk-PHP-4.1.0及以上版本; 证书签名SDK版本.Net版SDK支持alipay-sdk-NET-4.0.0及以上版本; 注:Python、NodeJS还未出证书签名sdk版本,待后续更新。 三、签名验签方式 不同语言的RSA2普通公钥和公钥证书签名验签方法不同。 RSA2普通公钥签名验签方法详见【如何使用RSA2签名验签】。 公钥证书验签签名验签方法详见【如何使用证书签名验签】。 四、sdk封装签名方式 由于第三步的签名验签方法未讲述sdk封装方法类请求的方式,RSA2普通公钥和公钥证书签名方式主要在于初始化方式不同,但是请求参数设置是相同的。 注意:实例化具体API对应的request类和response类,类名称和接口名称对应。 如接口名称:alipay.trade.pay,request类:AlipayTradePayRequest,response类:AlipayTradePayResponse 如接口名称:alipay.trade.app.pay,request类:AlipayTradeAppPayRequest,response类:AlipayTradeAppPayResponse 1、Java语言 (1)RSA2普通公钥签名 请求示例 AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2"); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.pay AlipayTradePayRequest request = new AlipayTradePayRequest(); request.setBizContent("{"out_trade_no":"2018092031012228432"," + ""total_amount":"0.01"," + ""subject":"subject"}"); request.setNotifyUrl("商户外网可以访问的异步地址"); AlipayTradePayResponse response = alipayClient.execute(request); if(response.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); } System.out.println(response.getBody()); (2)公钥证书签名 请求示例 //构造client CertAlipayRequest certAlipayRequest = new CertAlipayRequest(); //设置网关地址 certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do"); //设置应用Id certAlipayRequest.setAppId(app_id); //设置应用私钥 certAlipayRequest.setPrivateKey(privateKey); //设置请求格式,固定值json certAlipayRequest.setFormat("json"); //设置字符集 certAlipayRequest.setCharset(charset); //设置签名类型 certAlipayRequest.setSignType(sign_type); //设置应用公钥证书路径 certAlipayRequest.setCertPath(app_cert_path); //设置支付宝公钥证书路径 certAlipayRequest.setAlipayPublicCertPath(alipay_cert_path); //设置支付宝根证书路径 certAlipayRequest.setRootCertPath(alipay_root_cert_path); //构造client AlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.pay AlipayTradePayRequest request = new AlipayTradePayRequest(); request.setBizContent("{"out_trade_no":"2018092031012228432"," + ""total_amount":"0.01"," + ""subject":"subject"}"); request.setNotifyUrl("商户外网可以访问的异步地址"); AlipayTradePayResponse response = alipayClient.certificateExecute(request); if(response.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); } System.out.println(response.getBody()); (3)请求方法 //(1)服务端请求返回,RSA2密钥和公钥证书请求方式不同,如当面付 //RSA2密钥请求 response = alipayClient.execute(request); //公钥证书请求请求 response = alipayClient.certificateExecute(request); //(2)网站类适用接口请求,RSA2密钥和公钥证书请求方式相同,如手机网站支付、电脑网站支付 response = alipayClient.pageExecute(request); //(3)客户端类适用接口请求请求,RSA2密钥和公钥证书请求方式相同,如app支付 response = alipayClient.sdkExecute(request); 2、php语言 (1)普通公钥签名 请求示例 $aop = new AopClient; $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $aop->appId = "app_id"; $aop->rsaPrivateKey = '请填写开发者私钥去头去尾去回车,一行字符串'; $aop->format = "json"; $aop->charset = "UTF-8"; $aop->signType = "RSA2"; $aop->alipayrsaPublicKey = '请填写支付宝公钥,一行字符串'; //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay $request = new AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数 $request->setBizContent("{"body":"我是测试数据"," . ""subject": "App支付测试"," . ""out_trade_no": "20170125test01"," . ""timeout_express": "30m"," . ""total_amount": "0.01"," . ""product_code":"QUICK_MSECURITY_PAY"" . "}"); $request->setNotifyUrl("商户外网可以访问的异步地址"); //这里和普通的接口调用不同,使用的是sdkExecute $response = $aop->sdkExecute($request); //htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题 echo htmlspecialchars($response);//就是orderString 可以直接给客户端请求,无需再做处理。 (2)公钥证书签名 $aop = new AopCertClient; $appCertPath = "应用证书路径(要确保证书文件可读),例如:/home/admin/cert/appCertPublicKey.crt"; $alipayCertPath = "支付宝公钥证书路径(要确保证书文件可读),例如:/home/admin/cert/alipayCertPublicKey_RSA2.crt"; $rootCertPath = "支付宝根证书路径(要确保证书文件可读),例如:/home/admin/cert/alipayRootCert.crt"; $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $aop->appId = "app_id"; $aop->rsaPrivateKey = '请填写开发者私钥去头去尾去回车,一行字符串' ; $aop->format = "json"; $aop->charset= "GBK"; $aop->signType= "RSA2"; //调用getPublicKey从支付宝公钥证书中提取公钥 $aop->alipayrsaPublicKey = $aop->getPublicKey($alipayCertPath); //是否校验自动下载的支付宝公钥证书,如果开启校验要保证支付宝根证书在有效期内 $aop->isCheckAlipayPublicCert = true; //调用getCertSN获取证书序列号 $aop->appCertSN = $aop->getCertSN($appCertPath); //调用getRootCertSN获取支付宝根证书序列号 $aop->alipayRootCertSN = $aop->getRootCertSN($rootCertPath); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay $request = new AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数 $request->setBizContent("{"body":"我是测试数据"," . ""subject": "App支付测试"," . ""out_trade_no": "20170125test01"," . ""timeout_express": "30m"," . ""total_amount": "0.01"," . ""product_code":"QUICK_MSECURITY_PAY"" . "}"); $request->setNotifyUrl("商户外网可以访问的异步地址"); //这里和普通的接口调用不同,使用的是sdkExecute $response = $aop->sdkExecute($request); //htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题 echo htmlspecialchars($response);//就是orderString 可以直接给客户端请求,无需再做处理。 (3)请求方法 //RSA2普通公钥和公钥证书请求方法一致。 //服务端请求返回,如当面付 $response = $aop->execute($request); //网站类适用接口请求返回,如手机网站支付、电脑网站支付 $response = $aop->pageExecute($request); //客户类适用接口请求返回,如app支付 $response = $aop->sdkExecute($request); 3、.net语言 (1)RSA2普通公钥签名 请求示例 IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", APPID, APP_PRIVATE_KEY, "json", "1.0", "RSA2", ALIPAY_PUBLIC_KEY, CHARSET, false); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.pay AlipayTradePayRequest request = new AlipayTradePayRequest(); request.BizContent="{"out_trade_no":"2018092031012228432"," + ""total_amount":"0.01"," + ""subject":"subject"}"; request.setNotifyUrl("商户外网可以访问的异步地址"); AlipayTradePayResponse response = client.Execute(request); Console.WriteLine(response.Body); (2)公钥证书签名 请求示例 //设置证书相关参数 CertParams certParams = new CertParams { AlipayPublicCertPath = "支付宝公钥证书路径", AppCertPath = "商户应用证书路径", RootCertPath = "支付宝根证书路径" }; IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", APPID, APP_PRIVATE_KEY, "json", "1.0", "RSA2", "utf-8", false, certParams); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.pay AlipayTradePayRequest request = new AlipayTradePayRequest(); request.BizContent="{"out_trade_no":"2018092031012228432"," + ""total_amount":"0.01"," + ""subject":"subject"}"; request.setNotifyUrl("商户外网可以访问的异步地址"); AlipayTradePayResponse response = client.CertificateExecute(request); Console.WriteLine(response.Body); (3)请求方法 //(1)服务端请求,RSA2密钥和公钥证书请求方式相同,如当面付 //RSA2密钥请求 response = client.Execute(request); //公钥证书请求请求 response = client.CertificateExecute(request); //(2)网站类适用接口请求,RSA2密钥和公钥证书请求方式相同如手机网站支付、电脑网站支付 response = client.pageExecute(request); //(3)客户端类适用接口请求,RSA2密钥和公钥证书请求方式相同如app支付 response = client.sdkExecute(request);
保持可爱mmm 2020-05-05 16:49:11 0 浏览量 回答数 0

问题

SDK及DEMO下载

短信产品相关的SDK及DEMO程序 文件清单 api_demo(短信服务API接口调用DEMO工程)api_sdk(短信服务API接口依赖的SDK)msg_demo(短信回执消息的DEMO)msg_sdk(短信回执消息的SDK)...
nicenelly 2019-12-01 20:57:56 1162 浏览量 回答数 0

问题

钉钉开放平台“常见问题常见问题常见问题“重要请关注

本贴提供了JSAPI、服务端API、isv接入及常见的建议问题等,本帖问题及分类随大家反馈及时更新,请关注~ 为提高解决问题速度,请您在反馈问题时,参照以下模板提供信息 服务端...
竹梅 2019-12-01 21:57:52 74299 浏览量 回答数 28

回答

Re遇到errorCode7 requestJsApisnot invoked,所有接口调用不了 //根据客户端请求的URL生成dd.config需要的JSON配置信息 function get_config($url) {     $corpId = CORPID;     $agentId = AGENTID;     $nonceStr = 'aaaaaaa';     $timeStamp = time();     $corpAccessToken = get_token();      if (!$corpAccessToken) {         $config = false;     } else {         $ticket = get_ticket($corpAccessToken);          if (!$ticket) {             $config = false;         } else {             $signature = sign($ticket, $nonceStr, $timeStamp, $url);                  $config = array(                  "url"=>$url,                  "agentId" => $agentId,                  "corpId" => $corpId,                  "timeStamp" => $timeStamp,                  "nonceStr" => $nonceStr,                  "signature" => $signature             );         }     }      return json_encode($config, JSON_UNESCAPED_SLASHES); } ------------------------- 回 1楼人在囧途的帖子 token,ticket都能成功取得,返回的config json也正确,传入dd.config后,就是调用不了接口。 ------------------------- Re回 2楼人在囧途的帖子 { "agentId": "28604636",      "corpId": "dinge048ce76f5dc0000",      "timeStamp": 146580000,      "nonceStr": "aaaaaaa",      "signature": "88c291f8ffa5f3bb5d66fd1a7f4ce16dd37e8b27",      "jsApiList":[      "runtime.info",      "device.notification.alert",      "device.notification.confirm",      "device.base.getUUID",      "device.geolocation.get",      "device.base.getInterface",      "device.nfc.nfcRead",      "device.launcher.checkInstalledApps",      "biz.util.uploadImage"] } //这里返回的config ------------------------- Re遇到errorCode7 requestJsApisnot invoked,所有接口调用不了 var jsApiList = [      'runtime.info',      'device.notification.alert',      'device.notification.confirm',      'device.base.getUUID',      'device.geolocation.get',      'device.base.getInterface',      'device.nfc.nfcRead',      'device.launcher.checkInstalledApps',      'biz.util.uploadImage' ]; $. ajax ({      type: 'GET',      url: 'get_config.php',      data: { url: this.location. href},      dataType: 'json',      success: function ( res ) {          if (! JSON. stringify ( res )) {              alert ( 'config fail : ' + JSON. stringify ( res ));         } else {              res. jsApiList = jsApiList;              dd. config ( res ); //这里调用dd.config()              alert ( 'config ok : '+ JSON. stringify ( res ));         }     },      error: function ( xhr, type ) {          alert ( 'get config ajax error!' )     } } ); //这是H5页面上通过ajax从服务器获取config配置信息。 ------------------------- 回 4楼摸摸哒、的帖子 触发了。 ------------------------- 回 4楼摸摸哒、的帖子 其实,你可以测试一下,就算不调用dd.config(),也可以触发dd.ready() ------------------------- Re遇到errorCode7 requestJsApisnot invoked,所有接口调用不了 < script >      //alert(dd.version); //弹出显示 2.10.0      var jsApiList = [          'runtime.info',          'device.notification.alert',          'device.notification.confirm',          'device.base.getUUID',          'device.geolocation.get',          'device.base.getInterface',          'device.nfc.nfcRead',          'device.launcher.checkInstalledApps',          'biz.util.uploadImage'      ];      $. ajax ({          type: 'GET',          url: 'get_config.php',          data: { url: this.location. href},          dataType: 'json',          success: function ( res ) {              if (! JSON. stringify ( res )) {                  alert ( 'config fail : ' + JSON. stringify ( res ));             } else {                  res. jsApiList = jsApiList;                  dd. config ( res );                  alert ( 'config ok : ' + JSON. stringify ( res ));             }         },          error: function ( xhr, type ) {              alert ( 'get config ajax error!' )         }     } );      dd. error ( function ( error ) {          alert ( 'env error' );     } );      dd. ready ( function () {          //alert('env ok');//弹出显示env ok                   dd.runtime. info ({              onSuccess: function ( result ) {                  dd.device.notification. confirm ({ title: 'runtime info ', message: JSON. stringify ( result )} ); //弹出显示{ability:0.1.2}             },              onFail: function ( err ) {                  dd.device.notification. confirm ({ title: 'runtime info ', message: JSON. stringify ( err )} );             }         } );          dd.device.base.getUUID ({              onSuccess: function ( result ) {                  alert ( JSON. stringify ( result ));             },              onFail: function ( err ) {                  alert ( 'getUUID ' + JSON. stringify ( err )); //弹出显示{errorCode:7,errorMessage:requestJsApis() not invoked}             }         } ); ------------------------- 回 9楼摸摸哒、的帖子 这个confirm(),alert()你不调用dd.config()也可以用的。 测试了一下,dd.biz.util.scan()接口,在不调用dd.config()的情况下也能调用成功。 ------------------------- 回 11楼摸摸哒、的帖子 我是专门测试过的。刚又发现在一个接口,扫码接口,也是不用先调用dd.config(),直接在dd.ready()里就能调用了。 ------------------------- 回 13楼识器的帖子 刚测试的,不调用dd.config(),也可以用dd.biz.util.scan这个接口 ------------------------- Re遇到errorCode7 requestJsApisnot invoked,所有接口调用不了 <!DOCTYPE html > < html > < head >     < meta charset= "utf-8" >     < meta http-equiv= "X-UA-Compatible" content= "IE=edge" >     < title >我的DDAPI </ title >     < meta name= "viewport" content= "initial-scale=1, maximum-scale=1" >     < meta name= "apple-mobile-web-app-capable" content= "yes" >     < meta name= "apple-mobile-web-app-status-bar-style" content= "black" >     < script src= "//cdn.bootcss.com/zepto/1.1.6/zepto.js" ></ script >     < script src= "http://g.alicdn.com/ilw/ding/0.9.9/scripts/dingtalk.js" ></ script > </ head > < body > < script >      dd. error ( function ( error ) {          alert ( 'env error' );     } );      dd. ready ( function () {          dd.biz.util.scan ({              type: "qrCode", //type为qrCode或者barCode              onSuccess: function ( data ) {                  alert ( data. text );             },              onFail: function ( err ) {                  location. href = '@Url.Action("ServerApi","Login")?code=' + err+ "sd";             }         } ); 手机端DD里访问这个页面,能正常调出扫码。上面并没有任何初始化。并没有调用dd.config ------------------------- 回 16楼识器的帖子 已经是按照,官方文档里面说的配置了api接口,但是调用还是,提示不能调用。
人在囧途 2019-12-02 01:42:42 0 浏览量 回答数 0

问题

游戏客户快速扩展服务器的解决方案

游戏客户快速扩展服务器的解决方案 ECS产品快速扩展服务器的解决方案 一.引言 1、游戏行业浅谈       如今的网络游戏市场风生水起,呈现出一片蓬勃发展的势头。2013年中国手机游戏市场规模达...
nono20011908 2019-12-01 21:07:16 16190 浏览量 回答数 5

问题

消息服务的Message如何操作?

PublishMessage 描述 该接口用于发布者向指定的主题发布消息,消息发布到主题后随即会被推送给 Endpoint 消费。 Request Request 的构造主要由以下几个部分组成&#...
轩墨 2019-12-01 22:10:33 1103 浏览量 回答数 0

回答

回 2楼(阿king) 的帖子 文档这块我们正在尝试改进。如果在查看文档时有任何的疑问,非常欢迎在文档中心填写意见反馈,或者直接在工单中指出问题,我们会及时对文档中的问题进行修正。希望有大家的帮助,让OSS更加方便简单。 ------------------------- Re:ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) 引用第6楼真的小白于2015-03-23 11:12发表的 ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) : 我一直没搞懂那个 跨域资源共享  貌似在控制台叫cros设置   这个功能是干嘛的啊 ? 跨域资源共享(Cors)是Html5协议解决ajax跨域资源调用问题的功能。如您的程序为Web站点或基于Html5开发的APP应用可以通过跨域资源共享解决这个问题,其他使用场景用不到这个功能。   由于ajax等的同源策略 ,会禁止获取其他域名的资源。 比如,这样的操作是被禁止的。 xhr.open("GET", "http://www.taobao.com/pic.jpg", true);   以前要实现跨域访问,可以通过JSONP、Flash或者服务器中转的方式来实现,但是现在我们有了CORS。 现在大部分浏览器都可通过名为Cross-Origin Resource Sharing(CORS)的协议支持ajax跨域调用。 ------------------------- Re:ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) 引用第5楼宝宝助手于2015-03-23 11:11发表的 ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) : 我最近上传的时候都返回地址了。但是用地址访问内容时却是 0KB 没有上传成功? 用的php SDKV2          pubObject 的时候偶尔就会这样! 到底怎么回事!!我都想转到七牛去了。前几天七牛的人才来拿服务比较 人家还上传下载双向CDN    如果上传后返回了200,表示这次上传是成功的。并且可以在上传时带入数据的MD5值,服务器端会帮用户做校验,防止网络传输中出现数据丢失。 有其他的可能的类似问题,可以提交工单,客服同学会帮你仔细排查问题。 同时,建议使用php sdk v1版本。v2版本已不再维护增加新功能。 如果使用OSS中任何困扰,欢迎使用工单,论坛等方式告知我们,我们需要你的声音。 ------------------------- Re:ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) 引用第14楼我是菜鸟2于2015-03-23 12:32发表的 ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) : oss-example.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx 问题1  【Signature代表什么 】 问题2 【如何向这个地址(oss-example.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx)上传文件】 ....... 这段url表示使用url签名的方式来直接访问OSS资源,主要针对 【客户端/服务器端】 这样的用户场景: Access key 存储在服务器端,客户端想访问一个OSS资源没有权限,需要先向服务器端发送操作信息(包括操作哪个资源,完成什么操作等)。服务器端根据信息与Access key生成Signature(签名信息),并以一个url的形式传给客户端。客户端使用该url完成之前约定的操作。 问题1  【Signature代表什么 】 签名(Signature)信息是用户的服务器端生成的身份签名,用户的客户端使用该签名来完成操作。OSS根据这个签名来判断操作是否合法。 问题2 【如何向这个地址(oss-example.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx)上传文件】 该url只能完成特定的操作,比如控制台上生成的签名url是用于用户发送get请求,获取object。用户如果要生成put操作的签名url,可以参考JAVA SDK中的实现: 点击这里 。 对于想参考实现签名算法,这里给一些建议: 1. OSS api 接口基于标准的http协议规范,签名是通过对请求的方法,资源位置,请求头等以AccessKeySecret为秘钥按照统一方法加密生成的。具体方法可以参考API文档: 点击这里 2. 论坛中提供了一个可视化签名demo,希望能对你有所帮助: 点击这里 3. 各个SDK版本都已开源的,可以尝试参考一下。后续也会推出更多语言的SDK。 4. 如果对签名还有疑惑与困难,告知我们,后续会考虑推出更多帮助文档以及demo来帮助用户 ------------------------- Re:ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) 引用第19楼老陈小安于2015-03-24 13:19发表的 ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) : 我想问几个问题: 1、OSS选定存储区域后,在这个区域里有什么数据可靠性措施?比如一般的存3份? 2、OSS选定存储区域后,可以跨区域存储吗?比如我觉得只存在杭州一个区域不安全,我希望在北京存储区域再放一份,可以实现吗? 3、OSS能提版本控制功能吗?一个文件,我在下载到本地修改后,再上传,能提供上一次的版本控制吗? 4、OSS只有官方推荐第三方管理软件,有没有官方自己的管理软件? ....... 【问题】 OSS选定存储区域后,可以跨区域存储吗?比如我觉得只存在杭州一个区域不安全,我希望在北京存储区域再放一份,可以实现吗? 暂时不支持此功能,因为OSS底层已经实现了3分数据备份,所以您大可以放心您的数据安全。且如果您的数据很多,多存一份也会增加您的存储成本。 【问题】 OSS能提版本控制功能吗?一个文件,我在下载到本地修改后,再上传,能提供上一次的版本控制吗? 不支持版本控制 上传相同名的object在OSS端是覆盖原有信息。 OSS只有官方推荐第三方管理软件,有没有官方自己的管理软件? 官方推出过命令行工具,OSSCMD。 官方推荐的客户端工具是经过我们安全部门认证审核的,保证安全性与质量。 同时我们会推动我们的合作伙伴服务商推出更多工具。 【问题】 OSS的API与其他厂商的兼容吗?比如和X牛? 不支持 【问题】 OSS后续有什么新功能设计?比如音视频转码? 新功能的上线尽请期待我们的官网公告。 音视频转码服务主要通过阿里云其他云产品支持,比如可以使用MTS做视频转码。 【问题】 OSS存储计费,是用阶梯方式计费吗?还是按传统的,我用了600G,就按600G范围的单价计算?,如果是按阶梯计费方式,这有什么优势呢? 存储和流量都是按照阶梯计费的。采用的是类似计税使用的超额累进的方式,将你使用的资源量切分成不同段,按不同价格计费。 比如600T的存储费用=(50-0)*价格1+(500-50)*价格2+(600-500)*价格3 采用这样的方式,对用户来说使用资源量越大,价格会越便宜。 【问题】 最后,能说说OSS的定位是什么?面向服务商的,还是面向最终客户的? OSS的最终面向用户是开发者用户,为有存储需求的用户提供海量,安全,高可靠,支持高并发的企业级云存储服务。 ------------------------- Re:ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) 引用第29楼fds-em于2015-03-25 20:45发表的 ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) : 域名绑定。CNAME跟我网站的A记录冲突怎么解决啊?而且子域名先认证文件然后把A记录删除后。然后再用CNAME。那么访问也是没用啊 参考下这个教程 http://docs.aliyun.com/#/oss/getting-started/bucket-attributes&cname 注意核对您的区域(您的Bucket所在区域不同cname地址也不同) ------------------------- Re:ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) 引用第38楼金龟于2015-03-26 13:01发表的 ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) : 为什么没有 批量转移目录,全选等功能 您可以使用这个客户端工具解决您的需求 http://bbs.aliyun.com/read/231195.html   ------------------------- 回 18楼(渴望更高) 的帖子 您可以使用移动端的SDK,直接通过手机上传图片到OSS, SDK文档: android-sdk http://docs.aliyun.com/#/oss/sdk/android-sdk ios-sdk http://docs.aliyun.com/#/oss/sdk/ios-sdk ------------------------- 回 17楼(寂寞先生) 的帖子 您可以参考下这个帖子 http://bbs.aliyun.com/read/233791.html
ossbaymax 2019-12-02 01:54:17 0 浏览量 回答数 0

问题

概述直播平台搭建两步走直播系统源码三步搭建法

[size=; font-size: 12pt,12pt] [size=; font-size: 12pt,12pt] 随着直播短视频行业的不断升温,投入直播大军的人也在不断的增加,看着身边的...
qq2954023423 2019-12-01 21:00:00 1587 浏览量 回答数 0

回答

  开发者们都知道在高端智能手机系统中有两种应用程序:一种是基于本地(操作系统)运行的APP;一种是基于高端机的浏览器运行的WebApp,本文将主要讲解后者。   WebApp与Native App有何区别呢?   Native App:   1、开发成本非常大。   一般使用的开发语言为JAVA、C++、Objective-C。   2、更新体验较差、同时也比较麻烦   每一次发布新的版本,都需要做版本打包,且需要用户手动更新(有些应用程序即使不需要用户手动更新,但是也需要有一个恶心的提示)。   3、非常酷   因为native app可以调用IOS中的UI控件以UI方法,它可以实现WebApp无法实现的一些非常酷的交互效果   4、Native app是被Apple认可的   Native app可以被Apple认可为一款可信任的独立软件,可以放在Apple Stroe出售,但是Web app却不行。   Web App:   1、开发成本较低   使用web开发技术就可以轻松的完成web app的开发   2、升级较简单   升级不需要通知用户,在服务端更新文件即可,用户完全没有感觉   3、维护比较轻松   和一般的web一样,维护比较简单,它其实就是一个站点   Webapp说白了就是一个针对Iphone、Android优化后的web站点,它使用的技术无非就是HTML或HTML5、CSS3、JavaScript,服务端技术JAVA、PHP、ASP。   当然,因为这些高端智能手机(Iphone、Android)的内置浏览器都是基于webkit内核的,所以在开发WEBAPP时,多数都是使用HTML5和CSS3技术做UI布局。当使用HTML5和CSS3l做UI时,若还是遵循着一般web开发中使用HTML4和CSS2那样的开发方式的话,这也就失去了WEBAPP的本质意义了,且有些效果也无法实现的,所以在此又回到了我们的主题–webapp的布局方式和技术。   哥在此说明一下,在此所说的移动平台前端开发是指针对高端智能手机(如Iphone、Android)做站点适配也就是WebApp,并非是针对普通手机开发Wap 2.0,所以在阅读本篇文章以前,你需要对webkit内核的浏览器有一定的了解,你需要对HTML5和CSS3有一定的了解。如果你已经对此有所了解,那现在就开始往下阅读吧……   1、首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用   1   <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />   2   <meta content="yes" name="apple-mobile-web-app-capable" />   3   <meta content="black" name="apple-mobile-web-app-status-bar-style" />   4   <meta content="telephone=no" name="format-detection" />      第一个meta标签表示:强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览;   第二个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览;   第三个meta标签也是iphone的私有标签,它指定的iphone中safari顶端的状态条的样式;   第四个meta标签表示:告诉设备忽略将页面中的数字识别为电话号码   2、HTML5标签的使用   在开始编写webapp时,哥建议前端工程师使用HTML5,而放弃HTML4,因为HTML5可以实现一些HTML4中无法实现的丰富的WEB应用程序的体验,可以减少开发者很多的工作量,当然了你决定使用HTML5前,一定要对此非常熟悉,要知道HTML5的新标签的作用。比如定义一块内容或文章区域可使用section标签,定义导航条或选项卡可以直接使用nav标签等等。   3、放弃CSS float属性   在项目开发过程中可以会遇到内容排列排列显示的布局(见下图),假如你遇见这样的视觉稿,哥建议你放弃float,可以直接使用display:block;   4、利用CSS3边框背景属性   这个按钮有圆角效果,有内发光效果还有高光效果,这样的按钮使用CSS3写是无法写出来的,当然圆角可以使用CSS3来写,但高光和内发光却无法使用CSS3编写,   这个时候你不妨使用-webkit-border-image来定义这个按钮的样式。   -webkit-border-image就个很复杂的样式属性。   5、块级化a标签   请保证将每条数据都放在一个a标签中,为何这样做?因为在触控手机上,为提升用户体验,尽可能的保证用户的可点击区域较大。   6、自适应布局模式   在编写CSS时,我不建议前端工程师把容器(不管是外层容器还是内层)的宽度定死。为达到适配各种手持设备,我建议前端工程师使用自适应布局模式(支付宝采用了自适应布局模式),因为这样做可以让你的页面在ipad、itouch、ipod、iphone、android、web safarik、chrome都能够正常的显示,你无需再次考虑设备的分辨率。      7、学会使用webkit-box   上一节,我们说过自适应布局模式,有些同学可能会问:如何在移动设备上做到完全自适应呢?很感谢webkit为display属性提供了一个webkit-box的值,它可以帮助前端工程师做到盒子模型灵活控制。   8、如何去除Android平台中对邮箱地址的识别   看过iOS webapp API的同学都知道iOS提供了一个meta标签:用于禁用iOS对页面中电话号码的自动识别。在iOS中是不自动识别邮件地址的,但在Android平台,它会自动检测邮件地址,当用户touch到这个邮件地址时,Android会弹出一个框提示用户发送邮件,如果你不想Android自动识别页面中的邮件地址,你不妨加上这样一句meta标签在head中   1   <meta content="email=no" name="format-detection" />      9、如何去除iOS和Android中的输入URL的控件条   你的老板或者PD或者交互设计师可能会要求你:能否让我们的webapp更加像nativeapp,我不想让用户看见那个输入url的控件条?   答案是可以做到的。我们可以利用一句简单的javascript代码来实现这个效果   1   setTimeout(scrollTo,0,0,0);      请注意,这句代码必须放在window.onload里才能够正常的工作,而且你的当前文档的内容高度必须是高于窗口的高度时,这句代码才能有效的执行。   10、如何禁止用户旋转设备   我曾经也想禁止用户旋转设备,也想实现像某些客户端那样:只能在肖像模式或景观模式下才能正常运行。但现在我可以很负责任的告诉你:别想了!在移动版的webkit中做不到!   至少Apple webapp API已经说到了:我们为了让用户在safari中正常的浏览网页,我们必须保证用户的设备处于任何一个方位时,safari都能够正常的显示网页内容(也就是自适应),所以我们禁止开发者阻止浏览器的orientationchange事件,看来苹果公司的出发点是正确的,苹果确实不是一般的苹果。   iOS已经禁止开发者阻止orientationchange事件,那Android呢?对不起,我没有找到任何资料说Android禁止开发者阻止浏览器orientationchange事件,但是在Android平台,确实也是阻止不了的。   11、如何检测用户是通过主屏启动你的webapp   看过Apple webapp API的同学都知道iOS为safari提供了一个将当前页面添加主屏的功能,按下iphoneipodipod touch底部工具中的小加号,或者ipad顶部左侧的小加号,就可以将当前的页面添加到设备的主屏,在设备的主屏会自动增加一个当前页面的启动图标,点击该启动图标就可以快速、便捷的启动你的webapp。从主屏启动的webapp和浏览器访问你的webapp最大的区别是它清除了浏览器上方和下方的工具条,这样你的webapp就更加像是nativeapp了,还有一个区别是window对像中的navigator子对象的一个standalone属性。iOS中浏览器直接访问站点时,navigator.standalone为false,从主屏启动webapp时,navigator.standalone为true, 我们可以通过navigator.standalone这个属性获知用户当前是否是从主屏访问我们的webapp的。   在Android中从来没有添加到主屏这回事!   12、如何关闭iOS中键盘自动大写   我们知道在iOS中,当虚拟键盘弹出时,默认情况下键盘是开启首字母大写的功能的,根据某些业务场景,可能我们需要关闭这个功能,移动版本webkit为input元素提供了autocapitalize属性,通过指定autocapitalize=”off”来关闭键盘默认首字母大写。      13、iOS中如何彻底禁止用户在新窗口打开页面   有时我们可能需要禁止用户在新窗口打开页面,我们可以使用a标签的target=”_self“来指定用户在新窗口打开,或者target属性保持空,但是你会发现iOS的用户在这个链接的上方长按3秒钟后,iOS会弹出一个列表按钮,用户通过这些按钮仍然可以在新窗口打开页面,这样的话,开发者指定的target属性就失效了,但是可以通过指定当前元素的-webkit-touch-callout样式属性为none来禁止iOS弹出这些按钮。这个技巧仅适用iOS对于Android平台则无效。   14、iOS中如何禁止用户保存图片\复制图片   我们在第13条技巧中提到元素的-webkit-touch-callout属性,同样为一个img标签指定-webkit-touch-callout为none也会禁止设备弹出列表按钮,这样用户就无法保存\复制你的图片了。   15、iOS中如何禁止用户选中文字   我们通过指定文字标签的-webkit-user-select属性为none便可以禁止iOS用户选中文字。   16、iOS中如何获取滚动条的值   桌面浏览器中想要获取滚动条的值是通过document.scrollTop和document.scrollLeft得到的,但在iOS中你会发现这两个属性是未定义的,为什么呢?因为在iOS中没有滚动条的概念,在Android中通过这两个属性可以正常获取到滚动条的值,那么在iOS中我们该如何获取滚动条的值呢?   通过window.scrollY和window.scrollX我们可以得到当前窗口的y轴和x轴滚动条的值。   17、如何解决盒子边框溢出   当你指定了一个块级元素时,并且为其定义了边框,设置了其宽度为100%。在移动设备开发过程中我们通常会对文本框定义为宽度100%,将其定义为块级元素以实现全屏自适应的样式,但此时你会发现,该元素的边框(左右)各1个像素会溢了文档,导致出现横向滚动条,为解决这一问题,我们可以为其添加一个特殊的样式-webkit-box-sizing:border-box;用来指定该盒子的大小包括边框的宽度。   18、如何解决Android 2.0以下平台中圆角的问题   如果大家够细心的话,在做wap站点开发时,大家应该会发现android 2.0以下的平台中问题特别的多,比如说边框圆角这个问题吧。   在对一个元素定义圆角时,为完全兼容android 2.0以下的平台,我们必须要按照以下技巧来定义边框圆角:   1\-webkit这个前缀必须要加上(在iOS中,你可以不加,但android中一定要加);   2\如果对针对边框做样式定义,比如border:1px solid #000;那么-webkit-border-radius这属性必须要出现在border属性后。   3\假如我们有这样的视觉元素,左上角和右上角是圆角时,我们必须要先定义全局的(4个角的圆角值)-webkit-border-radius:5px;然后再依次的覆盖左下角和右下角,-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-border:0;否则在android 2.0以下的平台中将全部显示直角,还有记住!-webkit这个前缀一定要加上!   19、如何解决android平台中页面无法自适应   虽然你的html和css都是完全自适应的,但有一天如果你发现你的页面在android中显示的并不是自适应的时候,首先请你确认你的head标签中是否包含以下meta标签:   1   <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0;" />      如果有的话,那请你再仔细的看清楚有没有这个属性的值width=device-width,如果没有请立即加上吧!   20、如何解决iOS 4.3版本中safari对页面中5位数字的自动识别和自动添加样式   新的iOS系统也就是4.3版本,升级后对safari造成了一个bug:即使你添加了如下的meta标签,safari仍然会对页面中的5位连续的数字进行自动识别,并且将其重新渲染样式,也就是说你的css对该标签是无效的。   1   <meta name="format-detection" content="telphone=no" />      我们可以用一个比较龌龊的办法来解决。比如说支付宝wap站点中显示金额的标签,我们都做了如下改写:   1   <button class="t-balance"style="background:none;padding:0;border:0;">95009.00</button>元    “答案来源于网络,供您参考” 希望以上信息可以帮到您!
牧明 2019-12-02 02:17:31 0 浏览量 回答数 0

问题

【创联云】钉钉免登demo

一、工具和环境:eclipse+springBoot+Maven+jquery+51手机模拟器 二、阅读官方开发文档并熟记免登流程和步骤 三、按步骤实现: 1、在企业管理...
steven_1205 2019-12-01 22:02:30 2667 浏览量 回答数 0

回答

一、 Afinal官方介绍:Afinal是一个Android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。详情请通过以下网址查看。Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用;使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。项目地址:https://github.com/yangfuhai/afinal功能:一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。优点:功能比较全面,文档完善,代码效率比较高。缺点:没有项目demo,框架的时间比较久,代码冗余比较多(这也是无可避免的),文档比较老跟不上代码更新进度。(这个评价是其他高人评的,他自己也有写了框架。我个人觉得以前Afinal算是经典了 用的人多)。二、 xUtilsGit地址:https://github.com/wyouflf/xUtilsxUtils:可以说是Afinal的升级版。xUtils 包含了很多实用的android工具。xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls 最低兼容android 2.2 (api level 8)三、 ThinkAndroid项目地址:https://github.com/white-cat/ThinkAndroid官方介绍:ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具优点:功能看起来比较完善。个人觉得名字起的好。缺点:从2013年就停止维护了,没有项目文档。四、 LoonAndroid官方介绍:如果你想看ui方面的东西,这里没有,想要看牛逼的效果这里也没有。这只是纯实现功能的框架,它的目标是节省代码量,降低耦合,让代码层次看起来更清晰。整个框架一部分是网上的,一部分是我改的,为了适应我的编码习惯,还有一部分像orm完全是网上的组件。在此感谢那些朋友们。 整个框架式的初衷是为了偷懒,之前都是一个功能一个jar,做项目的时候拉进去,这样对于我来说依然还是比较麻烦。最后就导致我把所有的jar做成了一个工具集合包。 有很多框架都含有这个工具集合里的功能,这些不一定都好用,因为这是根据我个人使用喜欢来实现的,如果你们有自己的想法,可以自己把架包解压了以后,源码拉出来改动下。 目前很多框架都用到了注解,除了androidannotations没有入侵我们应用的代码以外,其他的基本上都有,要么是必须继承框架里面的activity,要么是必须在activity的oncreat里面调用某个方法。 整个框架式不同于androidannotations,Roboguice等ioc框架,这是一个类似spring的实现方式。在整应用的生命周期中找到切入点,然后对activity的生命周期进行拦截,然后插入自己的功能。开源地址:https://github.com/gdpancheng/LoonAndroid功能:1自动注入框架(只需要继承框架内的application既可)2图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)3网络请求模块(继承了基本上现在所有的http请求)4 eventbus(集成一个开源的框架)5验证框架(集成开源框架)6 json解析(支持解析成集合或者对象)7 数据库(不知道是哪位写的 忘记了)8 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)9 自动更新模块10 一系列工具类有点:功能多缺点:文档方面五、 KJFrameForAndroid项目地址:https://github.com/kymjs/KJFrameForAndroid官方介绍:KJFrameForAndroid 又叫KJLibrary,是一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;KJFrameForAndroid的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。我们提倡用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能。功能:一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用; KJFrameForAndroid开发框架的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。总共分为五大模块:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。优点:功能比较全面,代码效率很高,文档完善,有项目demo,出来的比较晚借鉴了很多大型框架经验。缺点:项目文档是html页面,查看起来很不方便,项目交流平台没多少人说话(难道大神都是不说话的?)(这两个评价是KJFrameForAndroid的作者对自己的评价,个人觉得作者是个天才。他的评价可能刚写完网上发布后写的。我在给他更新评价。因为现在已经过去了几个月一直在时不时更新。功能很全,项目文档也很全面,而且代码里注释最多 这方面这个很难得。交流平台人很多挺热闹,作者希望更热闹这样框架越来越完善。对于初学者希望看到Demo更完善)六、 dhroid官方介绍:dhroid 是基于android 平台, 极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展.使你更快,更好的开发商业级别应用开源地址: http://git.oschina.net/tengzhinei/dhroid功能:1.Ioc容器: (用过spring的都知道)视图注入,对象注入,接口注入,解决类依赖关系2.Eventbus: android平台事件总线框架,独创延时事件,事件管理轻松3.Dhnet: 网络http请求的解决方案,使用简单,减少代码,自带多种网络访问缓存策略4.adapter模块: 数据绑定轻松,不用写多余的adapter,天生网络支持(一行代码搞定加载,刷新问题)5.DhDb: android中sqlite的最轻量orm框架(增删改查轻松搞定)6.Perference: android自带Perference 升级版,让你的Perference更强大,更方便工具集合 JSONUtil(安全处理json),ViewUtil(数据绑定更快) ThreadWorker(异步任务工具)...优点:功能全面,有demo,作者也是为公司开发的框架。缺点:文档方面现在不是很好,就eoe上的那些。七、 SmartAndroid项目地址:http://www.aplesson.com/smartAndroid/demos官方介绍:SmartAndroid是一套给 Android开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 SmartAndroid可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。功能:SmartAndroid 拥有全范围的类库,可以完成大多数通常需要的APP开发任务,包括: 异步网络操作相关所有功能、强大的图片处理操作、轻量级ORM数据库Sqlite库、zip操作 、动画特效、Html等解析采集、事件总线EventBus/Otto、Gson(Json)、AQuery、主流所有UI控件(例如:ActionbarSherlock,SlidingMenu,BottomView,Actionbar,DragListView等10多种UI库)等。优点:功能非常全,超出你索要、文档完善(作者很全面,官方网站是web响应式网站,框架里功能有UI各种特效应该最全了,一直更新中)缺点:jar包大点?(功能多不可避免,不是问题),在线文档(随响应式的手机访问也方便,但是网速慢就不好了,页面打开不是很流畅)八、 andBase官方介绍:andbase是为Android开发者量身打造的一款开源类库产品开源地址:https://code.jd.com/zhaoqp2010_m/andbase功能:1.andbase中包含了大量的开发常用手段。如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使您的应用在团队开发中减少冗余代码,很大的提高了代码的维护性与开发高效性,能很好的规避由于开发疏忽而导致常犯的错误。2.andbase封装了大量的常用控件。如list分页,下拉刷新,图片轮播,表格,多线程下载器,侧边栏,图片上传,轮子选择,图表,Tab滑动,日历选择器等。3.强大的AbActivity,您没有理由不继承它。继承它你能够获得一个简单强大可设置的操作栏,以及一系列的简单调用,如弹出框,提示框,进度框,副操作栏等。4.提供效率较高图片缓存管理策略,使内存大幅度节省,利用率提高,效率提高。程序中要管理大量的图片资源,andbase提供简单的方法,几步完成下载与显示,并支持缩放,裁剪,缓存功能。5.封装了大量常见工具类。包括日期,字符,文件,图片等各种处理函数,多而全。6.用andbase大量减少handler的使用,而采用回调函数,代码更整洁。handler会产生大量代码,并且不好维护,andbase对handler进行了封装。7.简单轻量支持注解自动建表的ORM框架(支持一/多对多的关联操作)。写sql,建表,工作量大,andbase提供更傻瓜异步增删改查工具类。8.异步请求http框架,网络请求标准化,支持文件上传下载,get,post,进度显示。包含了异步与http请求的工具类,实用。9.热情的支持群体。优点:功能很全,demo做的好 、API文档完善、接近完美缺点:希望文档更详细些。九、 AndroidAnnotations项目地址:https://github.com/excilys/androidannotations功能:完全注解框架,一切皆为注解:声明控件,绑定控件,设置监听,setcontentview,长按事件,异步线程,全部通过注解实现。优点:完全的注解,使开发起来更加便利,程序员写的代码也更少。缺点:文档是全英文的加上功能比较少没有具体研究,由于一切都是注解,感觉效率不高,不过根据官方介绍说并不是使用的反射加载,所以效率比一般注解高很多。十、 volley项目地址: https://github.com/smanikandan14/Volley-demo功能:Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮异步加载网络图片、网络数据优点:Google官方推荐,请看去年的开发者大会介绍。缺点:功能比较少,只有网络数据加载和网络图片加载十一、 android-async-http项目地址:https://github.com/loopj/android-async-http文档介绍:http://loopj.com/android-async-http/ (1) 在匿名回调中处理请求结果 (2) 在UI线程外进行http请求 (3) 文件断点上传 (4) 智能重试 (5) 默认gzip压缩 (6) 支持解析成Json格式 (7) 可将Cookies持久化到SharedPreferences 有点:很简单很实用缺点:功能比较少, (只是针对的功能不是什么缺点)最后来个总结吧: 以上的开发框架网上都可以下载源码,也有demo实例的。当然我没分析和对比框架的效率性能,但是都非常实用,其作者大部分是个人,都是些牛人或天才。你可以直接使用,也可以把有用跳出来用,至少有很多使用工具。如果有发现Bug,作者希望把bug交给他。 Afinal 和 xUtils简单实用但是demo和更新的问题。 KJFrameForAndroid 算是新出的,功能也多,效率也应该好,代码也注释多 用起来也很方便。Dhroid 作者自己公司的框架,也可以直接请教。SmartAndroid 强劲的框架功能俱全。andBase 出来早各个方面算是完整的吧。转自:http://blog.csdn.net/buddyuu/article/details/40503471
元芳啊 2019-12-02 00:55:54 0 浏览量 回答数 0

问题

点播和播放器下载需要的参数的区别

阿里云视频点播总是会出现VideoId、AccessKeyId、AccessKeySecret、playKey、playauth这几个值,这些值到底是什么?为什么会需要这些值?这些值到底从哪里拿到&...
樰篱 2019-12-01 21:04:15 2751 浏览量 回答数 1

回答

=== 2018/8/30 16:00 终于搞定php对公钥证书签名 根据java SDK源码,用php取公钥证书SN如下: $p = []; $str = file_get_contents('./alipayRootCert.crt'); $p["alipay_root_cert_sn"] = getRootCertSN($str); $str = file_get_contents('./alipayCertPublicKey_RSA2.crt'); $p["alipay_cert_sn"] = getCertSN($str); $str = file_get_contents('./appCertPublicKey.crt'); $p["app_cert_sn"] = getCertSN($str); var_export($p); function getRootCertSN($str) { $arr = preg_split('/(?=-----BEGIN)/', $str, -1, PREG_SPLIT_NO_EMPTY); $str = null; foreach ($arr as $e) { $sn = getCertSN($e, true); if (!$sn) continue; if ($str === null) $str = $sn; else $str .= "_" . $sn; } return $str; } function getCertSN($str, $matchAlgo=false) { /* 根据java SDK源码:AntCertificationUtil::getRootCertSN 对证书链中RSA的项目进行过滤(猜测是gm国密算法java抛错搞不定,故意略去) java源码为: if(c.getSigAlgOID().startsWith("1.2.840.113549.1.1")) 根据 https://www.alvestrand.no/objectid/1.2.840.113549.1.1.html 该OID为RSA算法系。 */ if ($matchAlgo) { openssl_x509_export($str, $out, false); if (!preg_match('/Signature Algorithm:.*?RSA/im', $out, $m)) return; } $a = openssl_x509_parse($str); $issuer = null; // 注意:根据java代码输出,需要倒着排列 CN,OU,O foreach ($a["issuer"] as $k=>$v) { if ($issuer === null) { $issuer = "$k=$v"; } else { $issuer = "$k=$v," . $issuer; } } # echo($issuer . $a["serialNumber"] . "\n"); $sn = md5($issuer . $a["serialNumber"]); return $sn; } 做为首批踩坑者,只能长叹一声 === 2018/8/30 12:15 更新: 名字和序列化取出来像这样: CN=Ant Financial Certification Authority Class 2 R1,OU=Certification Authority,O=Ant Financial,C=CN 42665268812499181166312682537244063920 名字各段之间用逗号分隔,没有额外的空格序列号是10进制数,不是16进制,也没有任何分隔符取根证书sn需要遍历其中所有证书链,分别对name+serial进行md5编码,再用"_"连接起来。 看了半天java源码,终于运行起来,把sn值打出来了,拷贝到php中,终于看到手机上支付页面出来了。结果大致像这样: "app_cert_sn" => "06de145e15a73a8ce87f3eefeddce8b2", //"alipay_cert_sn" => "b1a855128d973b1ff1b1609bbce77fe0", "alipay_root_cert_sn" => "687b59193f3f462dd5336e5abf83c5d8_02941eef3187dddf3d3b83462e1dfcf6" 支付宝根证书要用特殊方法来取(源码里用AntCertificationUtil.getRootCertSN),怪不得之前写的不行。 定此接口的人需要深刻检讨,竟然直接以java语言的某个输出来定接口规范。难怪php或其它语言的相关sdk没有出来,我感觉也不好写。 ============ 旧消息 新申请的开放平台帐号,被强制使用了公钥证书签名。 !!!下面开始吐槽: 首先是接口文档比如 https://docs.open.alipay.com/api_1/alipay.trade.app.pay 中完全没提到有公钥证书签名这回事。 调用支付出问题后(报错总是报“支付取消”??),四处查文档,才找到php SDK没有提供此功能,于是决定按接口文档来写。 签名算法的文档中介绍是这样介绍算法的: “SN值是通过解析X.509证书文件中签发机构名称(name)以及内置序列号(serialNumber),将二者拼接后的字符串计算MD5值获取” 尼码,文档完全没有介绍name和serialNumber分别是怎样的文本格式?也没有例子。 我试了name是 “ROOTCA”,“/C=CN/O=NRCAC/CN=ROOTCA”,“C=CN, O=NRCAC, CN=ROOTCA”各种格式,而serialNumber格式我试了 “69e2fec0170ac67b”以及加"69 e2..."、加“69:e2..."等,以及各种组合,都没有验签成功。 于是走第二条路,找它说的java SDK源码来参考。打开java sdk链接,是在maven上的,找了好久才搜到了新版本java源码。 终于找到了介绍的getCertSN函数,其核心是这样实现的: public static String getCertSN(String certPath)throws AlipayApiException{ InputStream inputStream = null; inputStream = new FileInputStream(certPath); CertificateFactory cf = CertificateFactory.getInstance("X.509"); X509Certificate cert = (X509Certificate)cf.generateCertificate(inputStream); MessageDigest md = MessageDigest.getInstance("MD5"); md.update((cert.getIssuerX500Principal().getName()+cert.getSerialNumber()).getBytes()); String certSN = new BigInteger(1,md.digest()).toString(16); //BigInteger会把0省略掉,需补全至32位 certSN = fillMD5(certSN); return certSN; 于是找这cert.getIssuerX500Principal().getName()+cert.getSerialNumber()文档 实在看不懂,算了,还是直接运行这段java代码吧,把结果复制到php中填参数也可以,眼看就要成功了,结果运行java是这样的: java.security.cert.CertificateParsingException: java.io.IOException: Unknown named curve: 1.2.156.10197.1.301 at sun.security.x509.X509CertInfo.<init>(Unknown Source) at sun.security.x509.X509CertImpl.parse(Unknown Source) at sun.security.x509.X509CertImpl.<init>(Unknown Source) at sun.security.provider.X509Factory.engineGenerateCertificate(Unknown Source) at java.security.cert.CertificateFactory.generateCertificate(Unknown Source) at j1.getCertSN(j1.java:33) at j1.main(j1.java:24) 搜索发现,是java不支持国密算法。。。(https://cloud.tencent.com/info/fcfae2f8bd49fcce8737c7485afcdf29.html)
天笑2001 2019-12-02 02:09:44 0 浏览量 回答数 0

问题

【javascript学习全家桶】934道javascript热门问题,阿里百位技术专家答疑解惑

阿里极客公益活动:或许你挑灯夜战只为一道难题或许你百思不解只求一个答案或许你绞尽脑汁只因一种未知那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了他们用户自己手中的技术来帮助用户成长本次活动特邀百位阿里技术专家对javascript常...
管理贝贝 2019-12-01 20:07:22 6202 浏览量 回答数 1

问题

【创联云】钉钉免登demo

一、工具和环境:eclipse+springBoot+Maven+jquery+51手机模拟器 二、阅读官方开发文档并熟记免登流程和步骤 三、按步骤实现: 1、在企业管...
steven_1205 2019-12-01 22:02:30 3483 浏览量 回答数 0

问题

程序员报错QA大分享(1)

程序员报错QA征集第一弹来了哦~包含QA分享一期征集的部分内容,链接附带解决方案,可收藏哦~ npm install安装依赖一直报错?报错https://developer.aliyun.com/ask/301...
问问小秘 2020-06-18 15:46:14 1684 浏览量 回答数 2
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板