导航:首页 > 编程语言 > jsnewdate乱码

jsnewdate乱码

发布时间:2024-12-07 09:04:24

『壹』 如何在Cocos2d-js游戏中快速接入微信SDK

近日,微信公众平台面向开发者推出了微信内网页开发工具包(微信JS-SDK),内含11类接口集。


从此之后,开发者不仅能够在网页上使用微信本身的拍照、选图、语音、位置等基本能力,还可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为用户提供更优质的网页体验。


那么问题来了:如何在Cocos2d-JS游戏中快速接入微信SDK?


接下来我们将用基于Cocos2d-JS的微信游戏《来自喵星的你》来做个说明,教大家如何快速接入刚刚发布的微信SDK。

(微信支付API正在路上,欢迎关注下期连载哦!)


1.申请公众号

因为微信只能使用公众号接入SDK,所以我们必须先注册一个公众号。


2.设置公众号

登录公众平台后,点击左下角的 设置-公众号设置。右侧有一个js接口安全域名的设置,这里可以绑定3个用到的域名,必须填入顶级域名。

然后点击左下角的 开发者中心,右侧会有一个AppID和一个AppSecret。这两个先记录下来,过后会用到。


3.生成token

打开页面 微信公众平台接口调试工具 并且填入刚才的appid和secret,点击检查问题。记录下返回结果里面的“access_token”的值。


4.获取ticket

复制这个链接:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=填写刚刚获取的access_token&type=jsapi

并在里面的access_token=后面填入刚刚获取的access_token(对的,就是那一串乱码一样的东西),回车!!

然后把“ticket”的值复制出来,并保存起来,这个就是当前appid的ticket了。


5.生成签名

打开 微信 JS 接口签名校验工具 填入相应的数据:

1)jsapi_ticket: 填入上一步获取的ticket

2)noncestr: 这里随机生成一个字符串填进去(VQhYOUJRz6RolHqN)

3)timestamp: 这里填入一个时间戳,去掉毫秒的3位(如:1420870884) - 这里尽量写ticket生成后的一段时间,new Date() - 0可以获取当前的时间戳

4)url: 准备放页面的地址(域名必须在第二部中设置到安全域名内,如:http://www.cocos2d-x.org/wechat.html)

点击生成签名。记录下下面出现的signature这个值。


6.页面引入微信SDK并初始化

在页面中加入:


<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>


并且执行初始化:

『贰』 如何在Cocos2d-JS游戏中快速接入微信SDK

近日,微信公众平台面向开发者推出了微信内网页开发工具包(微信JS-SDK),内含11类接口集。

从此之后,开发者不仅能够在网页上使用微信本身的拍照、选图、语音、位置等基本能力,还可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为用户提供更优质的网页体验。

那么问题来了:如何在Cocos2d-JS游戏中快速接入微信SDK?

接下来我们将用基于Cocos2d-JS的微信游戏《来自喵星的你》来做个说明,教大家如何快速接入刚刚发布的微信SDK。
(微信支付API正在路上,欢迎关注下期连载哦!)

1.申请公众号
因为微信只能使用公众号接入SDK,所以我们必须先注册一个公众号。

2.设置公众号
登录公众平台后,点击左下角的 设置-公众号设置。右侧有一个js接口安全域名的设置,这里可以绑定3个用到的域名,必须填入顶级域名。
然后点击左下角的 开发者中心,右侧会有一个AppID和一个AppSecret。这两个先记录下来,过后会用到。

3.生成token
打开页面 微信公众平台接口调试工具 并且填入刚才的appid和secret,点击检查问题。记录下返回结果里面的“access_token”的值。

4.获取ticket
复制这个链接:api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=填写刚刚获取的access_token&type=jsapi
并在里面的access_token=后面填入刚刚获取的access_token(对的,就是那一串乱码一样的东西),回车!!
然后把“ticket”的值复制出来,并保存起来,这个就是当前appid的ticket了。

5.生成签名
打开 微信 JS 接口签名校验工具 填入相应的数据:
1)jsapi_ticket: 填入上一步获取的ticket
2)noncestr: 这里随机生成一个字符串填进去(VQhYOUJRz6RolHqN)
3)timestamp: 这里填入一个时间戳,去掉毫秒的3位(如:1420870884) - 这里尽量写ticket生成后的一段时间,new Date() - 0可以获取当前的时间戳
4)url: 准备放页面的地址(域名必须在第二部中设置到安全域名内,如:.cocos2d-x.org/wechat.html)
点击生成签名。记录下下面出现的signature这个值。

6.页面引入微信SDK并初始化
在页面中加入:

<script src="res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

并且执行初始化:

jsApiList填入的是当前需要使用的接口,需要注意的是,如果公众号不具备某些接口的权限,填进去也无法执行。

这时候将页面上传到第五步填入的url地址,并在微信中打开,应该能够看见config:ok的提示。

如果出现了Invalid Url或者Invalid Domain等提示,说明公众号配置里面出现了问题。而出现Invalid signature的话,则是signature生成出现了问题,检查下timestamp以及随机字符串等是否正确。

到这里我们就可以酣畅淋漓的使用微信的SDK啦。

比方说我们判断wifi加载音频,而非wifi情况则不加载任何音频文件:

『叁』 java ssh框架中怎么上传图片

package com.lilian.framework.servlet;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.lilian.business.common.model.CmResource;
import com.lilian.framework.utils.FileLoadUtil;

/**
* 通用上传组件(可以使用uploadify等上传组件上传资源)
* @author Ares
*/
public class FileUploadServlet extends HttpServlet {

private static final long serialVersionUID = -7933946015372885027L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doProcess(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doProcess(request, response);
}

public void doProcess(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
// 保存后的文件名
String bornName = ""; //源文件名
String fileName = ""; //文件名
String fileFormat = ""; //文件格式
short fileType = 1; //文件类型
Long fileSize = 0l; //文件大小
String hostAddr = ""; //主机地址(主机IP/域名)
String virtualAddr = ""; //虚拟地址(相对路径)
String urlPath = ""; //URL地址(访问路径)

// 通过时间戳散列目录存储
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMM/ddHH/");
Date curDate = new Date(System.currentTimeMillis()); // 获取当前时间
String fileFolder = formatter.format(curDate);

hostAddr = FileLoadUtil.getKeyValueByKeyName("file.upload.hostadd");

// virtualAddr = FileLoadUtil.getKeyValueByKeyName("file.upload.virtualdir.image") + fileFolder;
String uploadType = request.getParameter("uploadType");
if(uploadType!=null && !uploadType.equals("")){
if(uploadType.equals("1")){
virtualAddr = FileLoadUtil.getKeyValueByKeyName("file.upload.virtualdir.image") + fileFolder;
}else if(uploadType.equals("2")){
virtualAddr = FileLoadUtil.getKeyValueByKeyName("file.upload.virtualdir.config") + fileFolder;
}else{
response.getWriter().print("文件上传失败,上传类型不存在!");
return;
}
}else{
response.getWriter().print("文件上传失败,没有上传类型!");
return;
}

// urlPath = SystemLocation.getWebrootpath() + "/" + virtualAddr;
urlPath = hostAddr + virtualAddr;

// 文件存放的目录
// String savePath = FileUtil.getUploadFilePath();
String savePath = FileLoadUtil.getKeyValueByKeyName("file.upload.path") + virtualAddr;

// 这里还可以添加有业务规则的文件目录,比如允许每个用户有自己的上传文件目录
File tempDirPath = new File(savePath);
if (!tempDirPath.exists()) {
tempDirPath.mkdirs();
}

// 创建磁盘文件工厂
DiskFileItemFactory fac = new DiskFileItemFactory();
// 创建servlet文件上传组件
ServletFileUpload upload = new ServletFileUpload(fac);
// 设置charset为utf-8,上传中文文件名不会产生乱码
upload.setHeaderEncoding("UTF-8");

// 文件列表
List fileList = null;
// 解析request从而得到前台传过来的文件
try {
fileList = upload.parseRequest(request);
} catch (FileUploadException ex) {
ex.printStackTrace();
return;
}

// 遍历从前台得到的文件列表
Iterator<FileItem> it = fileList.iterator();
List<CmResource> cmResourceList = new ArrayList<CmResource>();
while (it.hasNext()) {
FileItem item = (FileItem) it.next();
if (!item.isFormField()) {
fileName = item.getName();
fileSize = item.getSize();
bornName = fileName.substring(0, fileName.lastIndexOf("."));
if (fileName == null || fileName.trim().equals("")) {
continue;
}

// 扩展名格式:
if (fileName.lastIndexOf(".") >= 0) {
fileFormat = fileName.substring(fileName.lastIndexOf(".")+1);
}

File file = null;
do {
// 生成文件名:
fileName = UUID.randomUUID().toString() + "." + fileFormat;
file = new File(savePath + fileName);
} while (file.exists());

File saveFile = new File(savePath + fileName);
try {
item.write(saveFile);
} catch (Exception e) {
e.printStackTrace();
}

System.out.println("***************************************************************");
System.out.println("bornName: " + bornName);
System.out.println("fileName: " + fileName);
System.out.println("fileFormat: " + fileFormat);
System.out.println("fileType: " + fileType);
System.out.println("fileSize: " + fileSize.longValue());
System.out.println("hostAdd: " + hostAddr);
System.out.println("virtualAddr: " + virtualAddr);
System.out.println("urlPath: " + urlPath);
System.out.println("imageURL: " + hostAddr + virtualAddr + fileName);
System.out.println("***************************************************************");

CmResource cmResource = new CmResource();
cmResource.setBornName(bornName);
cmResource.setFileName(fileName);
cmResource.setFileFormat(fileFormat);
cmResource.setFileType(fileType);
cmResource.setFileSize(fileSize);
cmResource.setHostAddr(hostAddr);
cmResource.setVirtualAddr(virtualAddr);
cmResource.setUrlPath(urlPath);
cmResourceList.add(cmResource);
}
}

// 将文件的 相对路径+源名称+文件大小 返回给response流。
request.setAttribute("cmResourceList", cmResourceList);
response.setContentType("text/html; charset=utf-8");
response.getWriter().print("文件上传成功!");
}
}
万能通用

阅读全文

与jsnewdate乱码相关的资料

热点内容
哪些地方网络信号更好些 浏览:753
jar反编辑工具 浏览:614
描述数据波动大小有哪些 浏览:584
u盘exfat可复制4g以上的文件吗 浏览:667
a4大小的文件过塑多少钱 浏览:26
畅天游2app在哪里下载 浏览:844
微信看文字的图片 浏览:298
将文件直接粘入word 浏览:134
VIP解析APP有哪些 浏览:463
怎样彻底卸载cad文件 浏览:829
iphone4港版 浏览:624
怎么用命令打开程序错误 浏览:665
iphone6怎么改控制中心 浏览:808
ns错误代码 浏览:653
iphone4s如何取消软件更新提示 浏览:538
jsp打印换行 浏览:662
哪个软件可以编程手机软件 浏览:554
如东如何学数控编程培训 浏览:5
微信h5页面怎么修改 浏览:931
手机怎么无法打开视频文件夹 浏览:840

友情链接