weixin_common.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. //切换发布版本 true:正式版,连接生产环境;false:测试版,连接测试环境。
  2. var publish_version = true;
  3. //var publish_version = false;
  4. var PROVINCE_CODE = "450000", //450000
  5. CITY_CODE = "450800", //"450800"
  6. CITY_NAME = "贵港市"; //贵港市
  7. if(publish_version){
  8. //正式环境(城市i健康)
  9. var server = "http://ehr.yihu.com/csijk/";
  10. var appId = "wx0a06b75a40b28f2a";
  11. var urlName = "wlyy";
  12. var weixinUrl = "www.xmtyw.cn";
  13. var agentName = "wlyyAgent";
  14. var agentName1 = "wlyyAgent1";
  15. var OpenidAgent = "OpenidAgent";
  16. var judgeAgent = "judgeAgent";
  17. var pageName = "pageurl";
  18. var wxurl = "http://ehr.yihu.com/csijk/weixin/html/";
  19. var imurl="172.19.103.72:3000";
  20. var imgUrlDomain = 'http://172.19.103.54/';
  21. }else{
  22. //测试环境(健康之路i厦门)
  23. //var server_jm = "http://ehr.yihu.com/wlyy_jm/";// 集美中医体检
  24. // var server = "http://ehr.yihu.com/wlyy/";
  25. var server = "http://172.19.103.88:9092/wlyy/";
  26. // var server = "http://192.168.131.243:8080/";//志南
  27. // var server = "http://192.168.131.154:8080/";//张丹
  28. // var server = "http://192.168.131.24:8080/";//仕杰
  29. // var server = "http://192.168.131.127:8060/";//逸祥
  30. // var server = "http://192.168.131.133:8080/";//文杰
  31. // var server = "http://192.168.131.113:8080/";//俊杰
  32. var appId = "wx1f129f7b51701428";
  33. var urlName = "wlyy";
  34. var weixinUrl = "ehr.yihu.com";
  35. var agentName = "wlyyAgent";
  36. var agentName1 = "wlyyAgent1";
  37. var OpenidAgent = "OpenidAgent";
  38. var judgeAgent = "judgeAgent";
  39. var pageName = "pageurl";
  40. var wxurl = "http%3a%2f%2fehr.yihu.com%2fwlyy%2fwx%2fhtml";
  41. var wsurl = 'ws://172.19.103.76:3030/netex';
  42. var imgUrlDomain = "http://172.19.103.54/";//添加图片服务器路径;
  43. var imurl="http://172.19.103.88:3000";
  44. var articleUrl = "http://172.19.103.87:9088"//健康教育文章详情
  45. // var imurl="http://192.168.131.24:3000";//仕杰
  46. //var imurl="http://192.168.131.127:3000";//逸祥
  47. //测试环境(健康之路当阳)
  48. //var server = "http://weixin.xmtyw.cn/wlyy-dev/";
  49. //var appId = "wxd03f859efdf0873d";
  50. //var urlName = "wlyy-dev";
  51. //var weixinUrl = "weixin.xmtyw.cn";
  52. //var agentName = "wlyyAgent_test";
  53. //var agentName1 = "wlyyAgent_test1";
  54. //var OpenidAgent = "OpenidAgent_test";
  55. //var judgeAgent = "judgeAgent_test";
  56. //var pageName = "pageurl_test";
  57. //var wxurl = "http%3a%2f%2fweixin.xmtyw.cn%2fwlyy-dev%2fwx%2fhtml";
  58. //var wsurl = 'ws://172.19.103.76:3030/netex';
  59. //var imurl="http://172.19.103.29:3008";
  60. }
  61. //添加openid白名单,只有这个名单内的openid才可以在线支付
  62. var openidList = [];
  63. //设置变量,控制是否可以在线支付
  64. var canPayOnline = true;
  65. if(GetRequest().openid){
  66. checkCanPayOnline(GetRequest().openid);
  67. }
  68. //添加处方功能的openid白名单
  69. var prescriptionOpenidList = ['123456'];
  70. var canPrescription = true;
  71. if(GetRequest().openid){
  72. checkCanPrescription(GetRequest().openid);
  73. }
  74. //保存userAgent
  75. function wxSaveUserAgent(id, uid, openid, token,lastUid) {
  76. if(window.localStorage.getItem(agentName)){
  77. window.localStorage.removeItem(agentName);
  78. }
  79. var userAgent = {
  80. id: id,
  81. uid: uid,
  82. openid: openid,
  83. token: token,
  84. lastUid: (lastUid ? lastUid:""),
  85. platform: 3
  86. }
  87. userAgent = JSON.stringify(userAgent);
  88. // var userAgent = "{\"id\":" + id + ",\"uid\":\"" + uid + "\",\"openid\":\"" + openid + "\",\"token\":\"" + token + "\",\"lastUid\":\"" + (lastUid ? lastUid:"") + "\",\"platform\":3}";
  89. window.localStorage.setItem(agentName, userAgent);
  90. return userAgent;
  91. }
  92. //保存userAgent1
  93. function wxSaveUserAgent1(uid, name, photo) {
  94. if(window.localStorage.getItem(agentName1)){
  95. window.localStorage.removeItem(agentName1);
  96. }
  97. var userAgent = {
  98. uid: uid,
  99. name: name,
  100. photo: photo
  101. }
  102. userAgent = JSON.stringify(userAgent);
  103. // var userAgent = "{\"uid\":" + uid + ",\"name\":\"" + name + "\",\"photo\":\"" + photo + "\"}";
  104. window.localStorage.setItem(agentName1, userAgent);
  105. return userAgent;
  106. }
  107. //保存openid
  108. function saveAgentOpenid(openid){
  109. if(window.localStorage.getItem(OpenidAgent)){
  110. window.localStorage.removeItem(OpenidAgent);
  111. }
  112. var agentOpenid = "{\"openid\":\"" + openid + "\"}";
  113. window.localStorage.setItem(OpenidAgent, agentOpenid);
  114. }
  115. //保存页面跳转值
  116. function saveAgentJudge(judge){
  117. if(window.localStorage.getItem(judgeAgent)){
  118. window.localStorage.removeItem(judgeAgent);
  119. }
  120. var agentJudge = "{\"judge\":" + judge + "}";
  121. window.localStorage.setItem(judgeAgent, agentJudge);
  122. }
  123. //保存跳转页面到agent
  124. function saveAgentPage(pageurl){
  125. if(window.localStorage.getItem(pageName)){
  126. window.localStorage.removeItem(pageName);
  127. }
  128. var agentPage = "{\"pageurl\":\"" + pageurl + "\"}";
  129. window.localStorage.setItem(pageName, agentPage);
  130. //如果页面中有code这个参数,及微信授权返回的code,将这个code保存在storage中
  131. if(pageurl.indexOf("code=") > -1){
  132. var arr = pageurl.split("code=");
  133. var code = arr[1].split("&")[0];
  134. window.localStorage.setItem("weixinCode", code);
  135. }
  136. }
  137. //清空所有的agent
  138. function clearAgent(){
  139. if(window.localStorage.getItem(agentName)){
  140. window.localStorage.removeItem(agentName);
  141. }
  142. if(window.localStorage.getItem(agentName1)){
  143. window.localStorage.removeItem(agentName1);
  144. }
  145. window.localStorage.removeItem("weixinCode"); //清楚缓存的code
  146. // if(window.localStorage.getItem(OpenidAgent)){
  147. // window.localStorage.removeItem(OpenidAgent);
  148. // }
  149. }
  150. //获取链接上的参数
  151. function GetRequest() {
  152. var url = location.search; //获取url中"?"符后的字串
  153. var theRequest = new Object();
  154. if (url.indexOf("?") != -1) {
  155. var str = url.substr(1);
  156. strs = str.split("&");
  157. for(var i = 0; i < strs.length; i ++) {
  158. theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
  159. }
  160. }
  161. //添加toName的信息
  162. if(theRequest.toName){
  163. localStorage.setItem("toName", theRequest.toName);
  164. }
  165. return theRequest;
  166. }
  167. //新的判断用户是否登录的方法,先校验openid是否一致
  168. function checkUserAgent(){
  169. var Request = new Object();
  170. Request = GetRequest();
  171. var code = Request["code"];
  172. var userAgent = window.localStorage.getItem(agentName);
  173. var agentCode = window.localStorage.getItem("weixinCode");
  174. if(code == "" || code == null || code == undefined){
  175. if(agentCode){
  176. //存在agentCode,说明一定获取openid成功过。
  177. if(!userAgent){
  178. var agentOpenids = window.localStorage.getItem(OpenidAgent);
  179. agentOpenids = JSON.parse(agentOpenids);
  180. window.location.href = "../../home/html/zhmm-login.html?type=" + pagetype + "&openid=" + agentOpenids.openid;
  181. }else{
  182. try{
  183. var agentOpenids = window.localStorage.getItem(OpenidAgent);
  184. if(agentOpenids){
  185. agentOpenids = JSON.parse(agentOpenids);
  186. checkCanPayOnline(agentOpenids.openid);
  187. checkCanPrescription(agentOpenids.openid);
  188. }
  189. queryInit();
  190. }catch(e){
  191. }
  192. }
  193. }else{
  194. if(!userAgent){
  195. d.close();
  196. // dialog({contentType:'tipsbox', skin:'bk-popup' , content:'授权失败',bottom:true}).show();
  197. //模板消息的情况,模板消息带上openid的值给页面
  198. var openid = Request['openid'];
  199. saveAgentOpenid(openid);
  200. window.location.href = "../../home/html/zhmm-login.html?type=" + pagetype + "&openid=" + openid;
  201. }else{
  202. try{
  203. checkCanPayOnline(Request['openid']);
  204. checkCanPrescription(Request['openid']);
  205. queryInit();
  206. }catch(e){
  207. }
  208. }
  209. }
  210. }
  211. else{
  212. //校验code与缓存中的code是否一致,一致的话则不再向后端获取openid,因为code只能使用一次
  213. if(agentCode && (code == agentCode)){
  214. try{
  215. var agentOpenids = window.localStorage.getItem(OpenidAgent);
  216. if(agentOpenids){
  217. agentOpenids = JSON.parse(agentOpenids);
  218. checkCanPayOnline(agentOpenids.openid);
  219. checkCanPrescription(agentOpenids.openid)
  220. }
  221. queryInit();
  222. }catch(e){
  223. }
  224. }else{
  225. //校验登录的openid是否与缓存中存在的一致
  226. d.show();
  227. sendPost('weixin/getOpenidByCode', {code: code}, 'json', 'post', openidFailed, function(res){
  228. if (res.status == 200) {
  229. d.close();
  230. localStorage.setItem("weixinCode", code);
  231. var openid = res.openid,
  232. agentOpenids = window.localStorage.getItem(OpenidAgent),
  233. agentOpenid = agentOpenids && JSON.parse(agentOpenids).openid;
  234. saveAgentOpenid(openid);
  235. if( agentOpenid == openid){
  236. if(!userAgent){
  237. window.location.href = "../../home/html/zhmm-login.html?type=" + pagetype + "&openid=" + openid;
  238. }else{
  239. try{
  240. checkCanPayOnline(openid);
  241. checkCanPrescription(openid);
  242. queryInit();
  243. }catch(e){
  244. }
  245. }
  246. }else{
  247. window.location.href = server + "wx/html/home/html/zhmm-login.html?type=" + pagetype + "&openid=" + openid;
  248. }
  249. } else {
  250. openidFailed(res);
  251. }
  252. });
  253. }
  254. }
  255. }
  256. //判断用户是否登录
  257. function checkUserAgent1(){
  258. var userAgent = window.localStorage.getItem(agentName);
  259. if(!userAgent){
  260. var agentOpenid = window.localStorage.getItem(OpenidAgent);
  261. if(!agentOpenid||agentOpenid=="undefined"){
  262. var Request = new Object();
  263. Request = GetRequest();
  264. var code = Request["code"];
  265. if(code == "" || code == null || code == undefined){
  266. d.close();
  267. dialog({contentType:'tipsbox', skin:'bk-popup' , content:'授权失败',bottom:true}).show();
  268. }
  269. else{
  270. d.show();
  271. var data = {};
  272. data.code = code;
  273. sendPost('weixin/getOpenidByCode', data, 'json', 'post', openidFailed, openidSuccess);
  274. }
  275. }
  276. else{
  277. var jsonstr = $.parseJSON(agentOpenid);
  278. var openid = jsonstr.openid;
  279. if((pagetype>=20&&pagetype<=27) || pagetype=='-1' || pagetype==3 || !pagetype){
  280. pagetype = 0;
  281. window.localStorage.setItem(pageName, JSON.stringify({pageurl: location.href}))
  282. }
  283. // window.location.href = server + "wx/html/home/html/zhmm-login.html?type=" + pagetype + "&openid=" + openid;
  284. window.location.href = "../../home/html/zhmm-login.html?type=" + pagetype //+ "&openid=" + openid;
  285. }
  286. }
  287. else{
  288. try{
  289. queryInit();
  290. }catch(e){
  291. }
  292. }
  293. }
  294. //判断openid是否在可以在线支付的白名单里面
  295. function checkCanPayOnline(id){
  296. if(id && openidList.indexOf(id)>-1){
  297. canPayOnline = true;
  298. }
  299. }
  300. //判断openid是否在可以开启处方功能的白名单中
  301. function checkCanPrescription(id){
  302. if(id && prescriptionOpenidList.indexOf(id)>-1){
  303. canPrescription = true;
  304. }
  305. }
  306. //成功
  307. function openidSuccess(res) {
  308. if (res.status == 200) {
  309. var openid = res.openid;
  310. saveAgentOpenid(openid);
  311. window.location.href = server + "wx/html/home/html/zhmm-login.html?type=" + pagetype + "&openid=" + openid;
  312. } else {
  313. openidFailed(res);
  314. }
  315. }
  316. //失败
  317. function openidFailed(res) {
  318. d.close();
  319. // if(window.localStorage.getItem(OpenidAgent)){
  320. // window.localStorage.removeItem(OpenidAgent);
  321. // }
  322. if (res && res.msg) {
  323. dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();
  324. } else {
  325. dialog({contentType:'tipsbox', skin:'bk-popup' , content:'获取认证信息失败',bottom:true}).show();
  326. }
  327. }
  328. //判断用户是否有签约
  329. function checkSign(type){
  330. d.show();
  331. var userAgent = window.localStorage.getItem(agentName);
  332. if(userAgent){
  333. var data = {};
  334. $.ajax(server + "patient/is_sign", {
  335. data: data,
  336. type: 'POST',
  337. dataType: 'json',
  338. beforeSend: function(request) {
  339. request.setRequestHeader("userAgent", userAgent);
  340. },
  341. error: function(res) {
  342. d.close();
  343. if(res.status == 999 || res.status == 998 || res.status == 997){
  344. loginUrl(res.status);
  345. return;
  346. }
  347. dialog({contentType:'tipsbox', skin:'bk-popup' , content:'校验失败',bottom:true}).show();
  348. },
  349. success: function(res) {
  350. d.close();
  351. if(res.status == 999 || res.status == 998 || res.status == 997){
  352. loginUrl(res.status);
  353. }
  354. else if (res.status == 200) {
  355. var is_sign = res.data;//0未签约,1已签约
  356. if(is_sign == 0){
  357. dialog({
  358. title: '提示',
  359. content: '您还未签约,请先签约,谢谢!',
  360. okValue:'签约',
  361. ok: function (){
  362. window.location.href = server + "wx/html/ssgg/html/choose-region.html";
  363. },
  364. cancelValue: '不了',
  365. cancel: function () {
  366. return;
  367. }
  368. }).showModal();
  369. }else{
  370. if(type == 1){
  371. window.location.href = server + "wx/html/zxwz/html/teachers-consult-commit.html";
  372. }
  373. }
  374. } else {
  375. dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();
  376. }
  377. }
  378. });
  379. }
  380. else{
  381. dialog({contentType:'tipsbox', skin:'bk-popup' , content:'用户信息错误',bottom:true}).show();
  382. }
  383. }
  384. var toUsers = localStorage.getItem("toUser");
  385. var curId = localStorage.getItem("id");
  386. var toName = localStorage.getItem("toName");
  387. var consultCode = localStorage.getItem("consultCode");
  388. var pageUrl = {
  389. /**通用跳转**/ 0:function(){
  390. var pageurl = "";
  391. var agentPage = window.localStorage.getItem(pageName);
  392. if(agentPage){
  393. var jsonstr = $.parseJSON(agentPage);
  394. pageurl = jsonstr.pageurl;
  395. }
  396. return pageurl;
  397. }(),
  398. /**签约管理首页**/ "-1":"../../qygl/html/signing-doctors.html",//签约管理首页
  399. /**医生咨询首页**/ 1:"../../yszx/html/doctor-consultation.html",
  400. /**医生指导首页**/ 3:"../../yszd/html/doctor-guidance.html",//医生指导首页
  401. /**疾病社区首页**/ 4:"../../jbsq/html/disease-community.html",//疾病社区首页
  402. /**健康记录首页**/ 5:"../../jkjl/html/health-record.html",//健康记录
  403. /**我的设备首页**/ 6:"../../wdsb/html/my-equipments.html",//我的设备
  404. /**我的资料首页**/ 11:"../../grzx/html/my-detail.html",
  405. /**我的设备首页**/ 15:"../../wdsb/html/my-equipments.html",
  406. /**签约选择医生**/ 16:"../../qygl/html/select-doctor.html",
  407. /**签约搜索医生**/ 17:"../../qygl/html/search-doctor.html",
  408. /**签约医生主页**/ 18:function(){
  409. var doctor = localStorage.getItem("doccode");
  410. return "../../ssgg/html/doctor-homepage-new.html?openid="+0+"&state="+doctor;
  411. }(),
  412. /**我的预约首页**/ 20:"../../wdyy/html/my-appointment.html",
  413. /**预约挂号提交**/ 21:"https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appId+"&redirect_uri="+wxurl+"%2fwdyy%2fhtml%2finfo-confirm.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect",
  414. 22:"../../jtgx/html/family.html",
  415. /**预约详情首页**/ 23:"../../wdyy/html/detail-appointment.html?openid="+0+"&toUser="+toUsers+"&id="+curId+"&toName="+toName,
  416. /**医生咨询详情**/ 24:"../../yszx/html/consulting-doctor.html?openid="+0+"&toUser="+toUsers+"&consult="+consultCode+"&toName="+toName,
  417. /**医生指导详情**/ 25:"../../yszd/html/guidance-detail.html?openid="+0+"&toUser="+toUsers+"&id="+curId+"&toName="+toName,
  418. /**健康教育**/ 26:"../../jkjy/html/article_list.html",
  419. /**健康详情**/ 27:function(){
  420. var artoUser = localStorage.getItem("toUser");
  421. var article = localStorage.getItem("article");
  422. return "../../jkjy/html/article.html?dataId="+article+"&toUser="+artoUser+"&toName="+toName;
  423. }(),
  424. /**新的健康详情**/ 50:function(){
  425. var artoUser = localStorage.getItem("toUser");
  426. var article = localStorage.getItem("article");
  427. return "../../jkjy/html/article2.html?dataId="+article+"&toUser="+artoUser+"&toName="+toName;
  428. }(),
  429. 28:"../../jkda/html/jiuzhenjilu.html",
  430. 29:"../../jkda/html/jianchajianyan.html",
  431. 30:"../../survey/html/survey_info.html?openid="+0+"&toUser="+toUsers+"&toName="+toName+"&survey_id="+localStorage.getItem("survey_id"),
  432. /**签约管理首页2**/ 31:"../../qygl/html/signing_management.html",//签约管理首页
  433. /*社区体检*/ 32: "../../jkda/html/jiankangtijian.html",
  434. /*续签页面*/ 33: "../../xuqian/html/information.html",
  435. /**意见反馈**/ 34:"../../yjfk/html/feedback.html",
  436. /**公共咨询**/ 36:"../../jbsq/html/public-consult-detail.html",
  437. /*处方记录 */ 38: "../../prescription/html/prescription_records.html",
  438. /*续方订单跟踪页*/ 41: '../../prescription/html/order_tracking.html?openid='+0+'&toUser='+toUsers+'&toName='+toName+'&code='+window.localStorage.getItem("prescriptionCode"),
  439. ///*续方记录页*/ 42: '../../prescription/html/re-prescription_info.html?openid='+0+'&toUser='+toUsers+'&toName='+toName+'&code='+window.localStorage.getItem("prescriptionCode"),
  440. /*孕检计划*/ 45: "../../fybj/html/yunjianjihua.html",
  441. /*免疫计划*/ 46: "../../fybj/html/mianyijihua.html",
  442. /*慢病管理修改*/ 47: "../../jbsq/html/slow-disease-manage.html",
  443. /**免疫预约首页**/ 48:"../../wdyy/html/immune-appointment.html",
  444. /**免疫预约详情页**/ 49:"../../wdyy/html/detail-immune-appointment.html",
  445. /**健康银行详情页**/ 51:"../../jkjf/html/index.html",
  446. /**健康存折详情页**/ 52:"../../jkjf/html/passbook.html",
  447. /**我的健康存折**/ 53:"../../jkjf/html/my-passbook.html",
  448. /**我的 活动**/ 54:"../../jkjf/html/my-activities.html",
  449. /**活动广场**/ 55:"../../jkjf/html/activity-square.html",
  450. /**活动详情**/ 56:"../../jkjf/html/activity-detail.html",
  451. /**健康银行默认缺省页**/ 57:"../../jkjf/html/unopened.html"
  452. }
  453. Date.prototype.Format = function(formatStr)
  454. {
  455. var str = formatStr;
  456. var Week = ['日','一','二','三','四','五','六'];
  457. str=str.replace(/yyyy|YYYY/,this.getFullYear());
  458. str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));
  459. str=str.replace(/MM/,this.getMonth()>8?(this.getMonth()+1).toString():'0' + (this.getMonth()+1));
  460. str=str.replace(/M/g,this.getMonth()+1);
  461. str=str.replace(/w|W/g,Week[this.getDay()]);
  462. str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' + this.getDate());
  463. str=str.replace(/d|D/g,this.getDate());
  464. str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' + this.getHours());
  465. str=str.replace(/h|H/g,this.getHours());
  466. str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0' + this.getMinutes());
  467. str=str.replace(/m/g,this.getMinutes());
  468. str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0' + this.getSeconds());
  469. str=str.replace(/s|S/g,this.getSeconds());
  470. return str;
  471. }
  472. var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");
  473. //document.write(unescape("%3Cspan style='display:none' id='cnzz_stat_icon_1265315380'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s22.cnzz.com/z_stat.php%3Fid%3D1265315380' type='text/javascript'%3E%3C/script%3E"));