gompf

command module
v0.0.0-...-3faa710 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2020 License: BSD-3-Clause Imports: 24 Imported by: 0

README

简介

go语言多功能框架(go multi-purpose frame),集成多种常用功能,包括微信,支付宝,短信,物流等众多实用功能

安装

go get github.com/a07061625/gompf/mpf
git clone https://github.com/a07061625/gompf GOPATH/pkg/src/github.com/a07061625/gompf

使用

初始化

bs := mpf.NewBootstrap()
bs.SetDirRoot(dirRoot)
bs.SetDirConfigs(dirConfigs)
bs.SetDirLogs(dirLogs)
github.com/a07061625/gompf/mpf.LoadBoot(bs)
// 进行上述设置后就可以愉快的使用了

命令行参数

必填
  • -mppt: 项目标识,小写字母和数字组成的3位长度字符串
  • -mppm: 项目模块,字母和数字组成的字符串
  • -mpot: 操作类型,start:启动服务 stop:停止服务 restart:重启服务
选填
  • -mpet: 环境类型,默认为product,dev:测试 product:生产

框架详解

代码结构

  • configs: 配置文件
  • mpf: 源码

自定义常量

  • MP_DIR_ROOT: 项目根目录
  • MP_ENV_TYPE: 环境类型
  • MP_PROJECT_TAG: 项目标识
  • MP_PROJECT_MODULE: 项目模块
  • MP_PROJECT_KEY: 项目代号,由环境类型+项目标识组成
  • MP_PROJECT_KEY_MODULE: 项目模块代号,由项目标识+项目模块组成

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
mpf
Package mpf bootstrap User: 姜伟 Time: 2020-02-19 04:59:21 Package mpf config User: 姜伟 Time: 2020-02-19 05:14:34 Package mpf env User: 姜伟 Time: 2020-02-19 05:14:47 Package mpf hash User: 姜伟 Time: 2020-02-19 05:30:04 Package mpf http User: 姜伟 Time: 2020-02-19 05:30:24 Package mpf json User: 姜伟 Time: 2020-02-19 05:38:11 Package mpf tool User: 姜伟 Time: 2020-02-19 05:41:08
Package mpf bootstrap User: 姜伟 Time: 2020-02-19 04:59:21 Package mpf config User: 姜伟 Time: 2020-02-19 05:14:34 Package mpf env User: 姜伟 Time: 2020-02-19 05:14:47 Package mpf hash User: 姜伟 Time: 2020-02-19 05:30:04 Package mpf http User: 姜伟 Time: 2020-02-19 05:30:24 Package mpf json User: 姜伟 Time: 2020-02-19 05:38:11 Package mpf tool User: 姜伟 Time: 2020-02-19 05:41:08
api
Package api api_base User: 姜伟 Time: 2020-02-19 06:43:49 Package api api_util User: 姜伟 Time: 2020-02-19 06:51:27
Package api api_base User: 姜伟 Time: 2020-02-19 06:43:49 Package api api_util User: 姜伟 Time: 2020-02-19 06:51:27
api/aliopen
* * Created by GoLand.
* * Created by GoLand.
api/alioss
* * Created by GoLand.
* * Created by GoLand.
api/alipay
* * Created by GoLand.
* * Created by GoLand.
api/alipay/auth
* * Created by GoLand.
* * Created by GoLand.
api/alipay/fund/auth
* * Created by GoLand.
* * Created by GoLand.
api/alipay/fund/trans
* * Created by GoLand.
* * Created by GoLand.
api/alipay/life
* * Created by GoLand.
* * Created by GoLand.
api/alipay/life/advert
* * Created by GoLand.
* * Created by GoLand.
api/alipay/life/group
* * Created by GoLand.
* * Created by GoLand.
api/alipay/life/menu
* * Created by GoLand.
* * Created by GoLand.
api/alipay/life/message
* * Created by GoLand.
* * Created by GoLand.
api/alipay/market
* * Created by GoLand.
* * Created by GoLand.
api/alipay/material
* * Created by GoLand.
* * Created by GoLand.
api/alipay/trade
* * Created by GoLand.
* * Created by GoLand.
api/dingtalk/corp/role
* * Created by GoLand.
* * Created by GoLand.
api/dingtalk/corp/smarthrm/employee
* * Created by GoLand.
* * Created by GoLand.
api/dingtalk/corp/sns
* * Created by GoLand.
* * Created by GoLand.
api/dingtalk/corp/user
* * Created by GoLand.
* * Created by GoLand.
api/dingtalk/corp/workrecord
* * Created by GoLand.
* * Created by GoLand.
api/mpcurrency
* * Created by GoLand.
* * Created by GoLand.
api/mpcurrency/amjisu
* * Created by GoLand.
* * Created by GoLand.
api/mpcurrency/amyiyuan
* * Created by GoLand.
* * Created by GoLand.
api/mpim
* * Created by GoLand.
* * Created by GoLand.
api/mpim/tencent/message
* * Created by GoLand.
* * Created by GoLand.
api/mpim/tencent/user
* * Created by GoLand.
* * Created by GoLand.
api/mpiot
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/action
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/auth
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/client
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/endpoint
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/management/device
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/management/domain
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/management/ota
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/permission
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/policy
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/principal
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/rules
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/thing
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/baidu/usage
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/tencent/device
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/tencent/model
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/tencent/project
* * Created by GoLand.
* * Created by GoLand.
api/mpiot/tencent/studio
* * Created by GoLand.
* * Created by GoLand.
api/mplogistics
* * Created by GoLand.
* * Created by GoLand.
api/mplogistics/amali
* * Created by GoLand.
* * Created by GoLand.
api/mplogistics/kd100
* * Created by GoLand.
* * Created by GoLand.
api/mplogistics/kdbird
* * Created by GoLand.
* * Created by GoLand.
api/mpmap
* * Created by GoLand.
* * Created by GoLand.
api/mpmap/baidu
* * Created by GoLand.
* * Created by GoLand.
api/mpmap/gaode
* * 输入提示 * User: 姜伟 * Date: 2019/12/26 0026 * Time: 18:35 * * Created by GoLand.
* * 输入提示 * User: 姜伟 * Date: 2019/12/26 0026 * Time: 18:35 * * Created by GoLand.
api/mpmap/tencent
* * Created by GoLand.
* * Created by GoLand.
api/mpprint
* * Created by GoLand.
* * Created by GoLand.
api/mpprint/feyin/device
* * Created by GoLand.
* * Created by GoLand.
api/mpprint/feyin/member
* * Created by GoLand.
* * Created by GoLand.
api/mpprint/feyin/msg
* * Created by GoLand.
* * Created by GoLand.
api/mpprint/feyin/template
* * Created by GoLand.
* * Created by GoLand.
api/mppush
* * Created by GoLand.
* * Created by GoLand.
api/mppush/baidu/push
* * Created by GoLand.
* * Created by GoLand.
api/mppush/baidu/report
* * Created by GoLand.
* * Created by GoLand.
api/mppush/baidu/tag
* * Created by GoLand.
* * Created by GoLand.
api/mppush/baidu/timer
* * Created by GoLand.
* * Created by GoLand.
api/mppush/baidu/topic
* * Created by GoLand.
* * Created by GoLand.
api/mppush/jpush/admin
* * Created by GoLand.
* * Created by GoLand.
api/mppush/jpush/device
* * Created by GoLand.
* * Created by GoLand.
api/mppush/jpush/push
* * Created by GoLand.
* * Created by GoLand.
api/mppush/jpush/report
* * Created by GoLand.
* * Created by GoLand.
api/mppush/jpush/schedules
* * Created by GoLand.
* * Created by GoLand.
api/mppush/xinge/device
* * Created by GoLand.
* * Created by GoLand.
api/mppush/xinge/push
* * Created by GoLand.
* * Created by GoLand.
api/mpsms
* * 短信基础结构体 * User: 姜伟 * Date: 2019/12/22 0022 * Time: 11:18 * * 短信配置 * User: 姜伟 * Date: 2019/12/24 0024 * Time: 12:38 * * 短信基础工具 * User: 姜伟 * Date: 2019/12/23 0023 * Time: 10:25 * * Created by GoLand.
* * 短信基础结构体 * User: 姜伟 * Date: 2019/12/22 0022 * Time: 11:18 * * 短信配置 * User: 姜伟 * Date: 2019/12/24 0024 * Time: 12:38 * * 短信基础工具 * User: 姜伟 * Date: 2019/12/23 0023 * Time: 10:25 * * Created by GoLand.
api/mpsms/yun253
* * 253云接口-短信发送 * User: 姜伟 * Date: 2019/12/23 0023 * Time: 10:32
* * 253云接口-短信发送 * User: 姜伟 * Date: 2019/12/23 0023 * Time: 10:32
api/qcloud
* * Created by GoLand.
* * Created by GoLand.
api/qcloud/cos/bucket
* * Created by GoLand.
* * Created by GoLand.
api/qcloud/cos/jobs
* * Created by GoLand.
* * Created by GoLand.
api/qcloud/cos/obj
* * Created by GoLand.
* * Created by GoLand.
api/qcloud/cos/service
* * Created by GoLand.
* * Created by GoLand.
api/qiniu
* * Created by GoLand.
* * Created by GoLand.
api/taobao
* * Created by GoLand.
* * Created by GoLand.
api/taobao/logistics
* * Created by GoLand.
* * Created by GoLand.
api/taobao/logistics/address
* * Created by GoLand.
* * Created by GoLand.
api/taobao/logistics/company
* * Created by GoLand.
* * Created by GoLand.
api/taobao/logistics/trace
* * Created by GoLand.
* * Created by GoLand.
api/taobao/sms
* * Created by GoLand.
* * Created by GoLand.
api/taobao/sms/dayu
* * 大鱼接口-短信查询 * User: 姜伟 * Date: 2019/12/23 0023 * Time: 10:31 * * 大鱼接口-短信发送 * User: 姜伟 * Date: 2019/12/24 0024 * Time: 23:19
* * 大鱼接口-短信查询 * User: 姜伟 * Date: 2019/12/23 0023 * Time: 10:31 * * 大鱼接口-短信发送 * User: 姜伟 * Date: 2019/12/24 0024 * Time: 23:19
api/wx
* * Created by GoLand.
* * Created by GoLand.
api/wx/account
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/authorize
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/customservice
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/datacube
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/material
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/menu
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/merchant/category
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/merchant/express
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/merchant/group
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/merchant/media
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/merchant/order
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/merchant/product
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/merchant/shelf
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/merchant/stock
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/message
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/tool
* * Created by GoLand.
* * Created by GoLand.
api/wx/account/user
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/agent
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/authorize
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/batch
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/crm
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/department
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/invoice
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/media
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/message
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/oa
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/pay
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/tag
* * Created by GoLand.
* * Created by GoLand.
api/wx/corp/user
* * Created by GoLand.
* * Created by GoLand.
api/wx/mini
* * Created by GoLand.
* * Created by GoLand.
api/wx/mini/authorize
* * Created by GoLand.
* * Created by GoLand.
api/wx/mini/message
* * Created by GoLand.
* * Created by GoLand.
api/wx/mini/tool
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/account/register
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/common/authorize
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/common/tool
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/mini/account
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/mini/category
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/mini/cloud
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/mini/codemanager
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/mini/codetemplate
* * Created by GoLand.
* * Created by GoLand.
api/wx/open/mini/setting
* * Created by GoLand.
* * Created by GoLand.
api/wx/provider/agent
* * Created by GoLand.
* * Created by GoLand.
api/wx/provider/authorize
* * Created by GoLand.
* * Created by GoLand.
api/wx/provider/constact
* * Created by GoLand.
* * Created by GoLand.
api/wx/provider/service
* * Created by GoLand.
* * Created by GoLand.
api/wx/single
* * Created by GoLand.
* * Created by GoLand.
api/wx/single/media
* * Created by GoLand.
* * Created by GoLand.
api/wx/single/pay
* * Created by GoLand.
* * Created by GoLand.
api/wx/single/pay/company
* * Created by GoLand.
* * Created by GoLand.
api/wx/single/pay/profitsharing
* * Created by GoLand.
* * Created by GoLand.
api/wx/single/pay/redpack
* * Created by GoLand.
* * Created by GoLand.
mpcache
Package mpcache memcache User: 姜伟 Time: 2020-02-19 06:15:40 Package mpcache memcache User: 姜伟 Time: 2020-02-19 06:15:40 Package mpcache redis User: 姜伟 Time: 2020-02-19 06:16:30 Package mpcache util User: 姜伟 Time: 2020-02-19 06:17:54
Package mpcache memcache User: 姜伟 Time: 2020-02-19 06:15:40 Package mpcache memcache User: 姜伟 Time: 2020-02-19 06:15:40 Package mpcache redis User: 姜伟 Time: 2020-02-19 06:16:30 Package mpcache util User: 姜伟 Time: 2020-02-19 06:17:54
mpconstant/errorcode
Package errorcode code User: 姜伟 Time: 2020-02-26 14:47:37
Package errorcode code User: 姜伟 Time: 2020-02-26 14:47:37
mpconstant/frame
Package frame frame User: 姜伟 Time: 2020-02-26 14:47:12
Package frame frame User: 姜伟 Time: 2020-02-26 14:47:12
mpconstant/project
Package project project User: 姜伟 Time: 2020-02-26 14:48:04
Package project project User: 姜伟 Time: 2020-02-26 14:48:04
mpdb
Package mpdb container_mongo User: 姜伟 Time: 2020-02-19 06:19:36 Package mpdb container_mysql User: 姜伟 Time: 2020-02-19 06:20:01 Package mpdb db_mongo User: 姜伟 Time: 2020-02-19 06:20:26 Package mpdb db_mysql User: 姜伟 Time: 2020-02-19 06:22:40
Package mpdb container_mongo User: 姜伟 Time: 2020-02-19 06:19:36 Package mpdb container_mysql User: 姜伟 Time: 2020-02-19 06:20:01 Package mpdb db_mongo User: 姜伟 Time: 2020-02-19 06:20:26 Package mpdb db_mysql User: 姜伟 Time: 2020-02-19 06:22:40
mpdp
Package mpdp observer User: 姜伟 Time: 2020-02-19 06:27:16
Package mpdp observer User: 姜伟 Time: 2020-02-19 06:27:16
mpencrypt
Package mpencrypt aes User: 姜伟 Time: 2020-02-19 06:27:35 Package mpencrypt rsa User: 姜伟 Time: 2020-02-19 06:29:32
Package mpencrypt aes User: 姜伟 Time: 2020-02-19 06:27:35 Package mpencrypt rsa User: 姜伟 Time: 2020-02-19 06:29:32
mperr
Package mperr constant User: 姜伟 Time: 2020-02-19 04:51:13 Package mperr error User: 姜伟 Time: 2020-02-19 04:26:32
Package mperr constant User: 姜伟 Time: 2020-02-19 04:51:13 Package mperr error User: 姜伟 Time: 2020-02-19 04:26:32
mpframe/controllers
Package controllers controller User: 姜伟 Time: 2020-02-25 11:01:30 Package controllers router User: 姜伟 Time: 2020-02-25 11:00:22
Package controllers controller User: 姜伟 Time: 2020-02-25 11:01:30 Package controllers router User: 姜伟 Time: 2020-02-25 11:00:22
mpframe/controllers/backend
Package backend common User: 姜伟 Time: 2020-02-25 11:07:41 Package backend index User: 姜伟 Time: 2020-02-25 11:07:58 Package backend router User: 姜伟 Time: 2020-02-25 11:08:14
Package backend common User: 姜伟 Time: 2020-02-25 11:07:41 Package backend index User: 姜伟 Time: 2020-02-25 11:07:58 Package backend router User: 姜伟 Time: 2020-02-25 11:08:14
mpframe/controllers/frontend
Package frontend common User: 姜伟 Time: 2020-02-25 11:10:11 Package frontend index User: 姜伟 Time: 2020-02-25 11:10:59 Package frontend router User: 姜伟 Time: 2020-02-25 11:11:18
Package frontend common User: 姜伟 Time: 2020-02-25 11:10:11 Package frontend index User: 姜伟 Time: 2020-02-25 11:10:59 Package frontend router User: 姜伟 Time: 2020-02-25 11:11:18
mpframe/controllers/index
Package index common User: 姜伟 Time: 2020-02-25 11:09:02 Package index index User: 姜伟 Time: 2020-02-25 11:09:20 Package index router User: 姜伟 Time: 2020-02-25 11:09:33
Package index common User: 姜伟 Time: 2020-02-25 11:09:02 Package index index User: 姜伟 Time: 2020-02-25 11:09:20 Package index router User: 姜伟 Time: 2020-02-25 11:09:33
mpframe/middleware/mpaction
Package mpaction basic User: 姜伟 Time: 2020-02-25 10:53:26
Package mpaction basic User: 姜伟 Time: 2020-02-25 10:53:26
mpframe/middleware/mpcontroller
Package mpcontroller basic User: 姜伟 Time: 2020-02-25 10:54:23
Package mpcontroller basic User: 姜伟 Time: 2020-02-25 10:54:23
mpframe/middleware/mpreq
Package mpreq basic User: 姜伟 Time: 2020-02-25 10:51:09
Package mpreq basic User: 姜伟 Time: 2020-02-25 10:51:09
mpframe/middleware/mpresp
Package mpresp basic User: 姜伟 Time: 2020-02-25 10:55:20
Package mpresp basic User: 姜伟 Time: 2020-02-25 10:55:20
mpframe/middleware/mpversion
Package mpversion basic 版本中间件,需要设置请求头,下面两个方式任选其一 Accept: "application/json; version=1.0" Accept-Version: "1.0" User: 姜伟 Time: 2020-02-25 10:56:39
Package mpversion basic 版本中间件,需要设置请求头,下面两个方式任选其一 Accept: "application/json; version=1.0" Accept-Version: "1.0" User: 姜伟 Time: 2020-02-25 10:56:39
mplog
Package mplog log User: 姜伟 Time: 2020-02-19 04:52:43
Package mplog log User: 姜伟 Time: 2020-02-19 04:52:43
mpmodule
Package mpmodule request_api User: 姜伟 Time: 2020-02-19 05:03:27 Package mpmodule request User: 姜伟 Time: 2020-02-19 05:03:55 Package mpmodule request_rpc User: 姜伟 Time: 2020-02-19 05:03:42
Package mpmodule request_api User: 姜伟 Time: 2020-02-19 05:03:27 Package mpmodule request User: 姜伟 Time: 2020-02-19 05:03:55 Package mpmodule request_rpc User: 姜伟 Time: 2020-02-19 05:03:42
mpmq
Package mpmq base User: 姜伟 Time: 2020-02-19 06:40:35 Package mpmq constant User: 姜伟 Time: 2020-02-19 06:40:53 Package mpmq consumer User: 姜伟 Time: 2020-02-19 06:41:32 Package mpmq consumer_rabbit User: 姜伟 Time: 2020-02-19 06:41:06 Package mpmq consumer_redis User: 姜伟 Time: 2020-02-19 06:41:20 Package mpmq producer User: 姜伟 Time: 2020-02-19 06:42:40 Package mpmq producer_rabbit User: 姜伟 Time: 2020-02-19 06:42:02 Package mpmq producer_redis User: 姜伟 Time: 2020-02-19 06:42:18
Package mpmq base User: 姜伟 Time: 2020-02-19 06:40:35 Package mpmq constant User: 姜伟 Time: 2020-02-19 06:40:53 Package mpmq consumer User: 姜伟 Time: 2020-02-19 06:41:32 Package mpmq consumer_rabbit User: 姜伟 Time: 2020-02-19 06:41:06 Package mpmq consumer_redis User: 姜伟 Time: 2020-02-19 06:41:20 Package mpmq producer User: 姜伟 Time: 2020-02-19 06:42:40 Package mpmq producer_rabbit User: 姜伟 Time: 2020-02-19 06:42:02 Package mpmq producer_redis User: 姜伟 Time: 2020-02-19 06:42:18
mpprotocol
Package mpprotocol protocol_basic User: 姜伟 Time: 2020-02-19 04:56:11
Package mpprotocol protocol_basic User: 姜伟 Time: 2020-02-19 04:56:11
mprequest
Package mprequest request User: 姜伟 Time: 2020-02-19 05:03:55 Package mprequest request_api User: 姜伟 Time: 2020-02-19 05:03:27 Package mprequest request_rpc User: 姜伟 Time: 2020-02-19 05:03:42
Package mprequest request User: 姜伟 Time: 2020-02-19 05:03:55 Package mprequest request_api User: 姜伟 Time: 2020-02-19 05:03:27 Package mprequest request_rpc User: 姜伟 Time: 2020-02-19 05:03:42
mpresponse
Package mpresponse result User: 姜伟 Time: 2020-02-19 05:04:11
Package mpresponse result User: 姜伟 Time: 2020-02-19 05:04:11
mpserver
Package mpserver app_basic User: 姜伟 Time: 2020-02-19 06:32:32
Package mpserver app_basic User: 姜伟 Time: 2020-02-19 06:32:32
mpvalidator
Package mpvalidator validator User: 姜伟 Time: 2020-02-19 06:31:26
Package mpvalidator validator User: 姜伟 Time: 2020-02-19 06:31:26

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL