欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 信息管理 > 微信小店服务端的JAVA设计的体系开发

微信小店服务端的JAVA设计的体系开发

日期:2023-01-24 阅读量:0 所属栏目:信息管理


 微信小店自微信公众平台推出后,成为又一种网络营销方式。微信小店提供了丰富的接口可供运营小店,而JAVA在移植性方面的优势很适合在多种平台上部署由其开发的微信小店服务端。该文介绍了微信小店服务端结构,以及使用JAVA语言实现微信小店服务端的主要环节。
  1 微信小店简介
  微信小店是基于微信支付的一套通过公众号售卖商品的解决方案,包括开店、商品上架、商品管理、订单管理、货架管理、维权等多种功能,开通微信小店后,就可以进行小店的开启、运营和使用[1,2]。运营者可直接通过微信小店的各个功能运营微信小店。与微信公众号开发模式一样,微信小店也为具备开发能力的运营者提供了实现各种功能的接口,便于运营者结合自身已有的运营资源,建立微信小店服务端以管理和使用微信小店的各种功能,为顾客提供灵活细致的服务,提高顾客体验。
  2 微信小店服务端结构
  微信公众平台为运营者建立微信小店服务端提供了丰富的接口。通过在微信小店服务端调用这些接口,可以运营微信小店。图1是根据文献[2]绘制的微信小店接口图。从图1可见微信小店接口涉及微信小店的多个方面。微信小店服务端调用微信小店接口的大致过程如图2所示,据此,微信小店服务端结构和模块的层次关系如图3所示。在微信小店服务端结构中,微信小店服务端根据自己的业务逻辑生成相应的JSON数据提交给微信小店接口,并将微信小店接口返回的JSON数据进行分析和引入微信小店服务端业务逻辑中,JSON数据生成和分析模块是微信小店服务端中业务逻辑与微信小店交互的关键。
  3 微信小店服务端的实现
  3.1 HTTPS传输
  微信小店接口都通过HTTPS方式访问。大多数时候HTTPS请求主要是POST方法,提交的内容主要是JSON数据,在上传图片时提交的内容是图片的数据;仅在访问获取所有商品信息、所有邮费模板信息、所有分组信息和所有货架信息等不需要复杂参数的接口时才使用GET方法。HTTPS传输模块的主要代码如下:
  1)使用指定的信任管理器(MyX509TrustManager)创建HTTPS连接。
  TrustManager[] tm = { new MyX509TrustManager() };
  SSLContext sslContext = tance("SSL", "SunJSSE");
  (null, tm, new Random());
  SSLSocketFactory ssf = ketFactory();
  URL url = new URL(requestUrl);
  HttpsURLConnection conn = (HttpsURLConnection) nnection();
  SocketFactory(ssf);
  utput(true);
  nput(true);
  Caches(false);
  uestMethod(requestMethod); //请求方式(GET/POST)
  2)向输出流写数据。其中的outBytes为字节数组,可以来自于数据库大字段、本地图片和字符串。当将字符串转化为outBytes时需要使用UTF-8编码(与微信接口相关的编码一般都是UTF-8编码)。
  if (null != outBytes) {
  OutputStream outputStream = putStream();
  (outBytes);
 ();
  }
  3)从输入流读取返回内容,并将返回内容转化为JSON格式。
  InputStream inputStream = utStream();
  InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
  BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
  String str = null;
  StringBuffer buffer = new StringBuffer();
  while ((str = ne()) != null) {
  (str);
  }
  jsonObject = ject(ng());
  3.2 JSON数据生成
  大多数接口都需要向微信小店接口提交JSON数据,这些数据实际上是访问微信小店接口的参数。腾讯严格定义了所有微信小店接口传入的JSON数据格式和内容。
  以生成增加分组的JSON数据为例。增加分组的JSON数据包括分组名称group_name、商品列表product_list。商品列表包含该新增组包含的商品ID(商品ID可以通过访问微信小店查询商品接口获取)。生成和获取JSON数据需要引入json-lib的jar包。需要定义GroupDetail和GroupDetailObject两个类,主要代码为:
  public class GroupDetail {
  private String group_name;
  private List product_list;
  …… // group_name和product_list的set和get方法略
  }
  public class GroupDetailObject {
  private GroupDetail group_detail;
  …… // group_detail的set和get方法略
  }
  生成JSON数据的代码主要为:
  List list=new ArrayList();
  ("pDF3iY9cEWyMimNlKbik_NYJTzYU");
  ("pDF3iY4kpZagQfwJ_LVQBaOC-LsM");
  GroupDetail groupdetail=new GroupDetail();
  up_name("测试分组");
  duct_list(list);
  GroupDetailObject groupdetailobject=new GroupDetailObject();
  up_detail(groupdetail);
  String jsonString = ject(groupdetailobject).toString();
  生成的JSON数据将与来自文献[2]中增加分组的数据示例相同:
  {
  "group_detail" : {
  "group_name": "测试分组",
  "product_list" : [
  "pDF3iY9cEWyMimNlKbik_NYJTzYU",
  "pDF3iY4kpZagQfwJ_LVQBaOC-LsM"
  ] } }
  3.3 获取ACCESS_TOKEN
  微信小店所有接口的调用都需要ACCESS_TOKEN值。ACCESS_TOKEN是通过微信公众平台的ACCESS_TOKEN接口获取,该接口需要用到微信公众号的APPID和APPSECRET。ACCESS_TOKEN增加了微信小店接口调用的安全性。获取ACCESS_TOKEN的主要代码为:
  String token_url = "https://cgi-bin/token?grant_type=client_cre dential&appid=APPID&secret=APPSECRET";
  token_url = e("APPID", appid).replace("APPSECRET", appsecret);
  JSONObject jsonObject = httpsRequest(token_url, "GET", null);
  其中,token_url为ACCESS_TOKEN接口;jsonObject为返回的JSON数据。使用ing("access_token")取得ACCESS_TOKEN值,ACCESS_TOKEN值的有效期可以通过("expires_in")取得。获取ACCESS_TOKEN的详细代码可以参照文献[3-5]。
 3.4 图片上传
  在微信小店中商品和货架都需要显示图片。在调用增加商品、增加货架接口时提交的JSON数据并不包含图片的数据,而仅包含图片的URL。图片的URL是通过调用图片上传接口上传图片获取。主要代码为:
  String requestUrl = "https://merchant/common/upload_img?access_token=ACCESS_TOKEN&filename=test.png";
  requestUrl = e("ACCESS_TOKEN", accessToken).replace("test.png", filename);
  JSONObject jsonObject = equest(requestUrl,"POST",imgBytes);
  其中requestUrl为微信小店图片上传接口;imgBytes为提交给图片上传接口的图片的字节数组;jsonObject为微信小店图片上传接口返回的JSON数据。返回的JSON数据中图片的URL可以通过以下方式取得:
  ing("image_url");
  3.5 微信小店接口调用
  调用微信小店接口,需要ACCESS_TOKEN和生成对应的JSON数据,再通过HTTPS传输模块按接口网址和提交方式完成调用。以调用增加分组接口为例,主要代码为:
  String requestUrl = "https://merchant/group/add?access_token=ACCESS_TOKEN";
  requestUrl = e("ACCESS_TOKEN", accessToken);
  JSONObject jsonObject = equest(requestUrl,"POST",addGroupJson);
  其中,requestUrl为增加分组的微信小店接口;accessToken为获取的ACCESS_TOKEN;addGroupJson为新增分组的JSON数据的字节数组;jsonObject为微信小店增加分组接口返回的JSON数据。
  3.6 JSON数据分析
  腾讯严格定义了微信小店接口返回的JSON数据格式和内容。返回的JSON数据中都包括了错误代码(errcode)和错误信息(errmsg),调用接口操作成功时,错误代码为0,错误信息为“success”。此外,微信小店查询类接口返回的JSON数据中还包括调用这些接口检索到的相应数据;微信小店增加对象类接口返回的JSON数据中一般包括对象的ID(例如商品ID,邮件模板ID等)。在程序中可以结合业务逻辑对返回的JSON数据进行分析处理。使用JSON数据的代码主要为:
  ing("属性名");
  其中jsonObject为返回的JSON对象,属性名为腾讯定义的返回数据名称,例如以下可以获取返回JSON对象的errcode值:
  ing("errcode");
  4 结束语
  微信小店通过微信小店接口为运营者提供了灵活方便的管理和营运方式。微信小店服务端不仅可以将自己的业务逻辑体现到微信小店上,还可以充分利用运营者已有的在线数据实现微信小店与微博、淘宝和电子商务网站的数据共享。通过JAVA语言实现的微信小店服务端可以快速部署到百度云、新浪云和阿里云等平台上。
  参考文献:
  [1] 腾讯.微信公众平台小店接入流程指引[EB/OL].[2014-05-10].https://cgi-bin/readtemplate?t=shop/faq_tmpl&lang=zh_CN&token=9112006.
  [2] 腾讯.微信小店API手册 v1.12[EB/OL].[2014-05-10].http://?title=微信小店接口.
  [3] 腾讯.微信公众平台开发文档[EB/OL]. [2014-04-30].http://?title=首页.

本文链接:http://www.qk112.com/lwfw/jsjlw/xinxiguanli/259188.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学