前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇微笑服务心得范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
当世界著名的旅店经营之王希尔顿在德克萨斯的第一家旅馆经营中稍有成效时,他母亲对其取得的成绩却不屑一顾。她指出,要使经营真正得到发展,只有掌握一种秘诀,这种秘诀简单、易行,不花本钱却又行之长久。希尔顿冥思苦想,终得其解。这秘诀不是别的就是微笑。他发现只有微笑才同时具备以上4个条件,且能发挥强大的功效。以后“微笑服务”就成了希尔顿旅馆经营的一大特色。50多年来,希尔顿向服务人员问得最多的一句话就是“你今天对客人微笑了没有?”
作为我们金融企业,微笑服务像是一把神奇的钥匙,可以打开心灵的幽宫,使它的光芒照耀了周围的一切,给周围的气氛增添了温暖。然而微笑服务又更像是天使的翅膀,让我们在天空中遨游,走在企业前端,与众多强者站在紫禁之颠。微笑,并不仅仅是一种表情的展示,更重要的是与被服务对象作感情上的沟通和交流。当你向客户微笑时,要表达的意思是:“欢迎您来到我们的信用社,我很高兴为您服务。”微笑体现了这种良好的心境。而微笑服务并不意味着只是脸上挂笑,应是真诚的服务,试想一下,如果一个员工只会一味地微笑,而对客户内心有什么想法、有什么要求一概不知,一概不问,那么这种微笑又有什么用呢?因此,微笑服务,还应有感情上的沟通和交流,只有这样当你在服务和工作上出现疏忽时也会得到对方的谅解和包容。
微笑服务同样也是一种无形资产,并且蕴藏着商机。据报载,美国一位老太太在一家日杂店购买了许多商品后遇到了店老板,老太太说:“我已经12年没到你的店来了,12年前,我每周都要到你的店买东西。可是,有一天,一位店员满脸冰霜,态度实在糟糕,所以我就到其他店购买商品了……”老板听完,赶快道歉。老太太走后,老板算了一笔账:如果老太太每周在店里消费25美元,那么,12年就是1.56万美元,按照最保守的估算,他至少损失了1000美元,而这仅仅是因为缺少了一个微笑。由此可见微笑服务之重要。如果连起码的微笑服务都做不到,又怎能得到广大客户和社会的信任与支持呢?只有真心服务群众,把群众当成自家人,你发出的微笑才会自然甜美,群众才会买你的“微笑”。要向服务要效益,向服务要发展,真正为客户创造一个温馨、舒心的环境。微笑服务应该成为我们信用社员工甚至所有工薪人员的座右铭。
服务中,遇到委屈是难免的,当遇到委屈时,我们同样要用微笑来化解它。记得有一天,一个客户拿了3万元现金来开户,当数到第三把时发现了一张百元假钞,这时我告诉了她,她马上要求我把假钞还给她,我跟她说:我们收到假钞必须没收的,这时她非常生气地说要把钱全部拿回头不存了,还说了些难听的话,面对他那愤怒的眼神,粗糙的话语,我们没有生气,还是面带微笑耐心地向她解释说:没收假钞是我们的职责,目的是为了更多的人不受假钞的侵害,如果你不想假钞再流向社会害人的话,请你配合我们的工作。最后她终于被我们的热情感动了,另摸出了一百元凑足三万元存了定期,并说:“你们信用社的服务太好了,还正规,我放心,下次我还到你们这来存钱。”经过这件事,让我感觉微笑不仅是全世界通用的语言,还是一种无声动人的音乐,更是人类一种高尚的表情,它永远是生活里明亮的阳光。
关键词:新时期;供电;微营销;服务;策略
一、微营销的基本含义
在供电企业中运用微营销,是一种顺应时展潮流的高性价、低成本的营销手段。现在微营销主要是利用移动互联网来进行,结合企业思维,通过微博、微信、各类手机软件等多种平台,实现现实和虚拟的多种互动,形成线下和线上的完美融合。通过微营销,能够拉近客户和企业之间的关系,对企业的形象塑造有积极的推动作用,有效的扩张了市场,让产品和服务更轻松的能够被客户所了解,通过有效的微营销,能够促进供电企业的健康发展。
将移动互联网和传统的营销方式进行有机结合,就是现代所流行的微营销。微营销的工具主要有微信、微博、手机APP以及城乡各供电营业厅,通过微营销服务平台架起供电企业和用户之间的服务联系“桥梁”。 (如图一所示)
二、微营销的必然性
(一)是时展下的产物
随着信息技术的飞速提升,现在移动互联网的应用越来越广泛,随着智能手机、平板电脑的不断更新,现在我国的移动端流量越来越高(如图二所示)。有专业的数据表明,我国在二零一二年三月份 ,微信的用户已经突破了一个亿,而这一个亿的天文数字,竟然是在短短的四百三十三天就完成了;到了二零一二年的九月份中旬,微信的注册用户已经突破了两亿人数,仅仅需要一百八十天;二零一三年的四月份,我国微信的注册用户已经达到了四亿,实现这一数字只花费了一百零五天。手机已然成为了国人最受欢迎、使用最为普遍的移动终端。
(二)能够推动公司的竞争力提升
移动互联网技术飞速发展,公司要想提高核心竞争力,不被市场所击倒,就必须要紧跟时代的发展潮流,熟悉互联网的营销模式,发展多种渠道,提高企业的经济效益。这一切,微营销都可以做到。微营销能够推动公司核心竞争力的提升,提高企业的经济水平,为我国供电企业的健康发展做出积极贡献。
三、供电企业的微营销手段
现在,供电企业的微营销手段一般是通过建立相关的电力微信公众号,开通相应的微信群,提供相应的支付业务,通过一些服务性质的软件,进行一系列的电力营销。
在微营销的时候,员工一定要从客户的角度出发,思考问题,要充分结合市场需求,用好的方式来吸引客户关注的目光和热情,从而更好的表现出微营销的魅力,做好微营销的服务,让客户了解微营销,从营销中得到实惠。
四、如何做好供电企业的微营销
(一)员工要亲自体验
作为一名合格的工作人员,在对客户进行微营销之前,自己要首先对产品进行有效的体验和使用,只有自己体验了之后,才能够彻底了解产品和属性和内容,优点和缺点,从而更好的向客户进行推荐。
(二)进行有效的物质赠送
在进行官方微信的推广活动、安装相应的手机软件时,供电企业可以赠送一些小礼品来吸引群众的目光,既能够给客户一些精神上的满足,还能够取得良好的推广效果。
(三)注重营销策略
我们采用微营销手段向终端客户服务时,既要注意“捆绑销售”又要注意“叠加销售”。比如对长期电费缴纳信誉好的大客户赠送一次“免费预防性试验”;对设计、施工都委托公司集体企业的客户在设计和施工费总价的基础上进行一定幅度的价格下浮。
(四)进行阶段性的推广活动
利用多种形式开展“进社区”、“进乡村”、“进企业”等集中式和上门分散式推介宣传及答谢活动,旨在进一步拉近公司与客户之间的距离,以真诚的服务感动和回馈消费者,打通服务群众的“最后一公里”。
(五)如何更加有效的“圈住”金牌客户
利用微营销的线上优势给“金牌”客户创造比线下更优质快捷的个性化、差异化服务,让“金牌”客户更加信赖公司,提高其忠诚度,圈住“金牌”客户固化此类客源不流失。抓牢“金牌”客户才能增强企业对竞争对手的抵御能力,保持企业的销售业绩,在市场竞争中立于不败之地。
(六)真诚待客
秉承“真诚服务、共谋发展”的理念,诚信经营、有求必应,承诺客户做到的事情要努力做到位,推送给客户的信息要及时和准确,真正把客户放在心上,建立一种平等的互惠互利关系。
(七)重视微营销工作
促成职工足够重视微营销,看到微营销的优势所在,在日常工作中持续不断的利用好微营销,不能抱着试试看、做做形式的态度去对待,即提高职工对微营销服务的满意度非常重要。研究表明,职工满意提高5%,连带提升1.3%客户满意度,同时提高0.5%的企业业绩。
参考文献:
[1]康海莉.新时期提升电力企业营销服务的策略分析[J].科技创新与应用,2014,(34):165-165.
[2]杨国平.新时期农电营销中的一些问题分析[J].大科技,2014,(33):113-113,114.
[3]王晓莉,徐洁.试论新时期供电企业抄收人员如何开拓性做好营销工作[J].民营科技,2014,(11):131.
[4]温宇翔.浅谈新时期的供电企业营销管理策略[J].科技创新与应用,2014,(4):139-139.
[5]邓柯.电力企业新时期电力营销管理机制的构建[J].中国高新技术企业,2014,(10):148-149,142.
关键词:微信小店;接口开发;JAVA;JSON;HTTPS
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)19-4442-04
The Implementation of Wechat Shop Server by Java
CHEN Fu
(South West Air Traffic Management Bureau.CAAC,Chengdu 610202,China)
Abstract:This paper presents a brief introduction to the interface functions and server structures of Wechat shop and the general process of its interface development. Using JAVA, it implements major sectors of Wechat shop server HTTPS transmission, JSON data generation and analysis, ACCESS_TOKEN acquisition, and Wechat shop interface, etc.
Key words: Wechat shop;interface development;JAVA;JSON;HTTPS
微信小店自微信公众平台推出后,成为又一种网络营销方式。微信小店提供了丰富的接口可供运营小店,而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 = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setSSLSocketFactory(ssf);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod(requestMethod); //请求方式(GET/POST)
2)向输出流写数据。其中的outBytes为字节数组,可以来自于数据库大字段、本地图片和字符串。当将字符串转化为outBytes时需要使用UTF-8编码(与微信接口相关的编码一般都是UTF-8编码)。
if (null != outBytes) {
OutputStream outputStream = conn.getOutputStream();
outputStream.write(outBytes);
outputStream.close();
}
3)从输入流读取返回内容,并将返回内容转化为JSON格式。
InputStream inputStream = conn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
StringBuffer buffer = new StringBuffer();
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
jsonObject = JSONObject.fromObject(buffer.toString());
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();
list.add("pDF3iY9cEWyMimNlKbik_NYJTzYU");
list.add("pDF3iY4kpZagQfwJ_LVQBaOC-LsM");
GroupDetail groupdetail=new GroupDetail();
groupdetail.setGroup_name("测试分组");
groupdetail.setProduct_list(list);
GroupDetailObject groupdetailobject=new GroupDetailObject();
groupdetailobject.setGroup_detail(groupdetail);
String jsonString = JSONObject.fromObject(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_credential&appid=APPID&secret=APPSECRET";
token_url = token_url.replace("APPID", appid).replace("APPSECRET", appsecret);
JSONObject jsonObject = httpsRequest(token_url, "GET", null);
其中,token_url为ACCESS_TOKEN接口;jsonObject为返回的JSON数据。使用jsonObject.getString("access_token")取得ACCESS_TOKEN值,ACCESS_TOKEN值的有效期可以通过jsonObject.getInt("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 = requestUrl.replace("ACCESS_TOKEN", accessToken).replace("test.png", filename);
JSONObject jsonObject = HttpsUtil.httpsRequest(requestUrl,"POST",imgBytes);
其中requestUrl为微信小店图片上传接口;imgBytes为提交给图片上传接口的图片的字节数组;jsonObject为微信小店图片上传接口返回的JSON数据。返回的JSON数据中图片的URL可以通过以下方式取得:
jsonObject.getString("image_url");
3.5 微信小店接口调用
调用微信小店接口,需要ACCESS_TOKEN和生成对应的JSON数据,再通过HTTPS传输模块按接口网址和提交方式完成调用。以调用增加分组接口为例,主要代码为:
String requestUrl = "https:///merchant/group/add?access_token=ACCESS_TOKEN";
requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken);
JSONObject jsonObject = HttpsUtil.httpsRequest(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数据的代码主要为:
jsonObject.getString("属性名");
其中jsonObject为返回的JSON对象,属性名为腾讯定义的返回数据名称,例如以下可以获取返回JSON对象的errcode值:
jsonObject.getString("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:///wiki/index.php?title=微信小店接口.
[3] 腾讯.微信公众平台开发文档[EB/OL]. [2014-04-30].http:///wiki/index.php?title=首页.
微信现已成为公众在日常生活中所最为倚重的信息媒介形式。
依托对微信服务平台的创设,将使高校图书馆能够实现实时为师生进行文献资料相关信息推送,进而拉近师生同图书馆之间的空间距离,使师生能够即时接收到高校图书馆所推介的各类文献资料信息,同时依托此种形式,将使高校图书馆实现对师生文献资料使用诉求的及时了解,进而提升图书馆的服务品质。
二、高校图书馆发展趋势――移动信息化服务
高校图书馆的发展趋势越来越趋向于信息化服务,尤其是移动信息化服务。具体体现在其信息载体数字化、馆藏信息多样化和纸质载体与电子载体并存三个方面。
(一)信息载体数字化。当前,国内各高校相继投入数字图书馆的建设工作之中,此种建设进程使高校图书馆的文献资料载体形式发生了同以往不同的改变。具体体现为传统的纸质文献资料逐渐被数字化文献资料所取代,如光盘、硬盘、U盘等电子载体,其庞大的存储空量和高效的存取速度,正在迅速取代传统纸质媒介,成为高校图书馆馆藏资源的主流信息载体。同时,各大高校的图书馆在进行馆藏文献资料数字化处理的同时,亦开始重视和着手对数字出版物资源的引进,从而极大地丰富了高校图书馆的文献资料资源。
(二)馆藏信息多样化。一直以来,国内各大高校的图书馆的馆藏文献资料多为传统的纸质媒介形式,随着信息技术时代的到来,高校图书馆的馆藏文献资料资源不再局限于单一的纸质媒介形式,而是渐渐发展为数字化文献资料媒介形式,此种媒介形式的转变,有利于师生对高校图书馆的相关文献资料实现更具效率的应用。
(三)纸质载体与电子载体并存。据相关调研报告显示,截至2015年底,国内的电子类数字出版物涨幅超过50%,而传统的纸质图书亦实现了一定程度的增幅。由此可见,尽管数字出版物涨幅惊人,并且将在未来一个时期成为主要的文献资料载体形式,但这并不意味着传统纸质媒介将会退出历史舞台,可以预见的是,在未来一个较长的时期内,图书馆文献资料将呈现出数字媒介与纸质媒介并存的发展态势。
三、高校图书馆发展利用微信公众平台的优势
在高校图书馆移动信息化服务的发展趋势下,利用微信公众平台实现创新服务有着一定的可行性。
(一)界面友好,内容新颖且不落俗套。用户通常在接收到到公微号的推送信息时,首先映入其眼帘的是主题图片以及标题。用户受主题图片的吸引或者标题的吸引,从而产生点击阅读详细内容的兴趣。在读者点击进入之后,跃入其视线的便是排版有序、文字错落有致的推送内容。同时,清洁的界面不会弹出商业广告,使得用户不至于因广告的弹出而影响到其阅读兴致。新颖且不落俗套的内容编排将使用户产生极大的阅读好感。
(二)注重同用户互动,注重分析用户阅读偏好,从而实现精准推送。在公微号向用户进行信息推送时,用户能够在较短的时间内获取到推送提示,进而自行选择阅读,所以此种公微信息推送模式能够实现对关注公微号用户群体的全方位覆盖。同微博信息方式不同的是,微博关注者在关注多个微博内容时,不同微博所的信息均在一个界面中加以显示,故而会导致较晚的信息内容将实现对较早信息内容的覆盖,进而不利于微博关注者阅读。此外,公微号具备在线即时自动回复功能、点对点式交互功能和免输入语言互动功能,这些功能使得公微号为用户带来全新的使用体验。同时依托前述功能,将使用户在阅读相关信息内容的同时,一并可以就发现的问题与不解之处向公微号求助答疑。还有就是点对点式的服务方式,使用户同公微号运营方的交流更具私密性。
(三)用户能够自主决定是否关注公微。面向个人用户的微信具备依托添加联系人等方式实现对交流互动对象的选择,但微信公众号无法主动添加好友,只能被动接受用户关注,主动权在用户。公微号乃是通过“二维码”等方式实现对潜在关注用户的吸引。在公微号的运营过程中,运营方通常会对日常的推动信息内容与数量作出较为严格的要求,尤其注重推送内容的品质与格调。如厦门大学图书馆的公微号的关注用户数量较多,原因即在于该公微号所推送的信息具有较高的品读性,因而受到广大读者用户群体的认可和推崇。
四、高校图书馆如何利用微信公众平台创新服务
而高校图书馆要想充分利用微信公众平台创新服务,就需要强化微信平台的功能性,完善服务;强化微信平台的宣传,吸引用户;开展个性化信息推送服务;丰富微信线下活动。
(一)强化微信平台的功能性,完善服务。高校图书馆在开发与创设微信服务平台过程中,应当注重凸显高校自身的办学特色与专业特色,以便同高校自身的发展战略相契合。在具体的微信服务平台研发过程中,图书馆应当注重凸显微信服务平台的服务特质,如平台应当具备在线互动、文献索引、文献推荐等功能模块,以便满足师生的个性化文献资料使用诉求。同时,微信平台亦应当具备信息提示功能,以便使师生能够基于微信的相关提示功能,实现答疑解惑。此外,微信平台还应当对图书馆的日常开闭馆时间、讲座、节假日安排等事项进行实时推送,以便使师生第一时间获取信息,同时提升自身办公效率。
(二)强化微信平台的宣传,吸引用户。高校图书馆在微信平台的研发与建设过程中,应当尽可能地实现在留住现有师生用户的基础上,实现用户群体的扩容,也就是说,高校图书馆应当将所研发的微信平台作为自身的重要宣传载体,使师生之外的其他社会公众藉由对微信平台的关注,进而提升高校整体的文化载体形象。具体而言,高校图书馆应当在高校主页、高校微博上加入微信二维码,并且在每年下半年新生入学时做好宣传工作,也可将微信公众号和二维码在图书馆网站的首页、举办活动的宣传海报上,写在图书馆入口处的公告栏内,以便尽可能扩大微信平台的影响人群。
(三)开展个性化信息推送服务。考虑到文化的多元性以及文献资料利用诉求的多样性,高校图书馆所研发和创设的微信平台应当根据用户喜好,向用户进行信息推介,从而最大程度实现对公众个性化文献资料使用诉求的满足。具体而言,微信平台应当为用户提供图书借阅信息查询、预约图书登记、图书借阅期满提示灯功能,以便使公众能够依托微信平台享受到便利的图书借阅服务。
(四)丰富微信线下活动。微信平台的宣传、推广与服务功能固然重要,然而微信线下的活动也是十分关键的。高校图书馆应该不断丰富微信线下活动,比如积极组织阅读推广活动,号召学生参与其中,以扩大图书馆的利用率,拓展学生的阅读范围,为学生提供更为到位的服务。利用微信公众平台线下活动进行阅读推广有很大优势,是高校图书馆开展移动数字阅读服务的又一新途径。
五、高校图书馆微信公众平台所存在的问题
目前,开通微信公众平台的高校图书馆数量并不多,且存在使用率和普及率偏低、图书馆微信公众账号区域分布不均、公众号取名混乱等现象,还需要高校图书馆加以反思和改进。
(一)使用率和普及率偏低。根据相关调研结果显示,现今国内高校图书馆对于公微号的宣传模式重视程度存在严重不足,开通公微号的高校数量不足一半。而美国常青藤联盟大学已经于2010年前后全部推出图书馆公微号。这样看来,当前国内高校图书馆在公微号的利用方面同域外国家存在较大差距。
(二)图书馆微信公众账号区域分布不均。从已经推出公微号的高校图书馆分布情况来看,现今推出图书馆公微号的高校基本集中于华南、华东等经济较为发达的区域,而与之形成鲜明对比的是,国内西部高校在公微号建设方面明显处于落后地位。
(三)公众号取名混乱现象。现今国内一些高校的图书馆在注册公微号时存在名称缺少辨识度的问题,因而无形中也降低了读者用户群体对此类公微号的关注度。另有一些图书馆推出多个公微号,使得读者用户面对多个公微号无所适从。比如杭州图书馆注册的“最温暖的图书馆”和“杭州图书馆”;“武大图书馆助手”和“武汉大学图书馆”。
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 = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setSSLSocketFactory(ssf);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod(requestMethod); //请求方式(GET/POST)
2)向输出流写数据。其中的outBytes为字节数组,可以来自于数据库大字段、本地图片和字符串。当将字符串转化为outBytes时需要使用UTF-8编码(与微信接口相关的编码一般都是UTF-8编码)。
if (null != outBytes) {
OutputStream outputStream = conn.getOutputStream();
outputStream.write(outBytes);
outputStream.close();
}
3)从输入流读取返回内容,并将返回内容转化为JSON格式。
InputStream inputStream = conn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
StringBuffer buffer = new StringBuffer();
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
jsonObject = JSONObject.fromObject(buffer.toString());
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();
list.add("pDF3iY9cEWyMimNlKbik_NYJTzYU");
list.add("pDF3iY4kpZagQfwJ_LVQBaOC-LsM");
GroupDetail groupdetail=new GroupDetail();
groupdetail.setGroup_name("测试分组");
groupdetail.setProduct_list(list);
GroupDetailObject groupdetailobject=new GroupDetailObject();
groupdetailobject.setGroup_detail(groupdetail);
String jsonString = JSONObject.fromObject(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://api.weixin.qq.com/cgi-bin/token?grant_type=client_cre dential&appid=APPID&secret=APPSECRET";
token_url = token_url.replace("APPID", appid).replace("APPSECRET", appsecret);
JSONObject jsonObject = httpsRequest(token_url, "GET", null);
其中,token_url为ACCESS_TOKEN接口;jsonObject为返回的JSON数据。使用jsonObject.getString("access_token")取得ACCESS_TOKEN值,ACCESS_TOKEN值的有效期可以通过jsonObject.getInt("expires_in")取得。获取ACCESS_TOKEN的详细代码可以参照文献[3-5]。
3.4 图片上传
在微信小店中商品和货架都需要显示图片。在调用增加商品、增加货架接口时提交的JSON数据并不包含图片的数据,而仅包含图片的URL。图片的URL是通过调用图片上传接口上传图片获取。主要代码为:
String requestUrl = "https://api.weixin.qq.com/merchant/common/upload_img?access_token=ACCESS_TOKEN&filename=test.png";
requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken).replace("test.png", filename);
JSONObject jsonObject = HttpsUtil.httpsRequest(requestUrl,"POST",imgBytes);
其中requestUrl为微信小店图片上传接口;imgBytes为提交给图片上传接口的图片的字节数组;jsonObject为微信小店图片上传接口返回的JSON数据。返回的JSON数据中图片的URL可以通过以下方式取得:
jsonObject.getString("image_url");
3.5 微信小店接口调用
调用微信小店接口,需要ACCESS_TOKEN和生成对应的JSON数据,再通过HTTPS传输模块按接口网址和提交方式完成调用。以调用增加分组接口为例,主要代码为:
String requestUrl = "https://api.weixin.qq.com/merchant/group/add?access_token=ACCESS_TOKEN";
requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken);
JSONObject jsonObject = HttpsUtil.httpsRequest(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数据的代码主要为:
jsonObject.getString("属性名");
其中jsonObject为返回的JSON对象,属性名为腾讯定义的返回数据名称,例如以下可以获取返回JSON对象的errcode值:
jsonObject.getString("errcode");
4 结束语
微信小店通过微信小店接口为运营者提供了灵活方便的管理和营运方式。微信小店服务端不仅可以将自己的业务逻辑体现到微信小店上,还可以充分利用运营者已有的在线数据实现微信小店与微博、淘宝和电子商务网站的数据共享。通过JAVA语言实现的微信小店服务端可以快速部署到百度云、新浪云和阿里云等平台上。
参考文献:
[1] 腾讯.微信公众平台小店接入流程指引[EB/OL].[2014-05-10].https://mp.weixin.qq.com/cgi-bin/readtemplate?t=shop/faq_tmpl&lang=zh_CN&token=9112006.