微信公众号H5开发笔记
一、 首先授权配置
<dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>2.5.0</version> </dependency>
<dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.7</version> </dependency> <dependency> <groupId>xpp3</groupId> <artifactId>xpp3</artifactId> <version>1.1.4c</version> </dependency> <dependency> <groupId>xmlpull</groupId> <artifactId>xmlpull</artifactId> <version>1.1.3.1</version> </dependency>
@Configuration @PropertySource( value={ "classpath:wxProperties.properties"}, ignoreResourceNotFound = true) //@DependsOn("propertyPlaceholderConfigurer") public class WeixinConfig { //直接获取资源文件中的配置的值 @Value("${wxProperties.appid}") private String appid;//appId @Value("${wxProperties.appsecret}") private String appsecret;//Appsecret @Value("${wxProperties.token}") private String token;//Token @Value("${wxProperties.aeskey}") private String aesKey;//aeskey,有就填,没有就不填 @Value("${wxProperties.partener_id}") private String partenerId;//商户号 @Value("${wxProperties.partener_key}") private String partenerKey;//商户秘钥 @Value("${wxProperties.notify_url}") private String notifyUrl;//支付后台通知接口地址 @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { PropertySourcesPlaceholderConfigurer ppc = new PropertySourcesPlaceholderConfigurer(); ppc.setIgnoreUnresolvablePlaceholders(true); return ppc; } @Bean public WxMpConfigStorage wxMpConfigStorage() { WxMpInMemoryConfigStorage configStorage = new WxMpInMemoryConfigStorage(); configStorage.setAppId(this.appid); configStorage.setSecret(this.appsecret); configStorage.setToken(this.token); configStorage.setAesKey(this.aesKey); configStorage.setPartnerId(this.partenerId); configStorage.setPartnerKey(this.partenerKey); configStorage.setNotifyURL(this.notifyUrl); return configStorage; } @Bean public WxMpService wxMpService() { WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(wxMpConfigStorage()); return wxMpService; } }
@Autowired protected WxMpService wxMpService;
public StatusResult<Map<String, Object>> createJsapiSignature(String url) { Map<String, Object> result = new HashMap<String, Object>(); try { WxJsapiSignature wxJsapiSignature = wxMpService.createJsapiSignature(url); String getJsapiTicket = wxMpService.getJsapiTicket(); result.put("wxJsapiSignature", wxJsapiSignature); return StatusResult.success(result, ""); } catch (WxErrorException e) { return StatusResult.failed("未知错误出现", result); } }
这里的url是H5用js代码获取的:
var url = location.href.split(#)[0];
jquery(function() { var expiresDate= new Date(); expiresDate.setTime(expiresDate.getTime() + (30 * 60 * 1000));//半小时 jquery.cookie("openId",${openId}, { path : /,//cookie的作用域为根目录,任何页面都是有效的 expires : expiresDate });//cookie里面保存openId });
然后在js中写一个方法每个页面都调用判断。
上一篇:
uniapp开发微信小程序-2.页面制作