- 需求
- 利用微信jssdk接口完成定位
- 技术背景
- 前端项目:Vue框架
- 服务端项目:PHP Laravel 框架
- 引用
- vue npm包:weixin-js-sdk
安装: npm i wexin-js-sdk
2. laravel 微信开发composer包:easywechat。
详见:EasyWeChat - 世界上最好的微信开发 SDK
- 开发流程介绍
- 服务端安装easywechat包,参照 官网 做好配置;
- 服务端提供配置信息接口返回jssdk初始化需要的数据,参照代码如下:
class WechatAuthController extends MyController
{public function getSdkConfig(Request $request)
{
$url = $request->get('url');
$app = app('wechat.official_account');if (!empty($url)) {
$app->jssdk->setUrl($url);
}
$result = $app->jssdk->buildConfig(['getLocation'], $debug = false, $beta = false, $json = true);return $this->response->array([
'data' => json_decode($result, true)
])->setStatusCode(200);
}
}
3. 在前端需要调用sdk的页面,调用后端接口getSdkConfig,获取配置数据configData;
4.引入weixin-js-sdk ( import wx from 'weixin-js-sdk'),并调用wx.config、wx.ready方法,开始使用jssdk方法,参照代码如下:
5. 调用wx.getLocation方法,即可获取位置经纬度;
- 常见的问题
- 签名错误
- ip错误
- url错误