#author("2022-12-19T12:57:17+08:00","default:Admin","Admin")
#author("2022-12-19T13:26:30+08:00","default:Admin","Admin")
[[uni-app]]

&color(red){※前提条件:vue3 的uniapp开发};

#contents

* 微信小程序的开发准备工作 [#g6aaa73c]

登录下面网址申请所需的
- AppID(小程序ID)
- AppSecret(小程序密钥)

 https://mp.weixin.qq.com

** 配置流程 [#ud237ddc]

服务器域名请在 「小程序后台 - 开发 - 开发设置 - 服务器域名」 中进行配置,配置时需要注意:

- 域名只支持 https (wx.request、wx.uploadFile、wx.downloadFile) 和 wss (wx.connectSocket) 协议;
- 域名不能使用 IP 地址(小程序的局域网 IP 除外)或 localhost;
- 可以配置端口,如 https://myserver.com:8080,但是配置后只能向 https://myserver.com:8080 发起请求。如果向 https://myserver.com、https://myserver.com:9091 等 URL 请求则会失败。
- 如果不配置端口。如 https://myserver.com,那么请求的 URL 中也不能包含端口,甚至是默认的 443 端口也不可以。如果向 https://myserver.com:443 请求则会失败。
- 域名必须经过 ICP 备案;
- 出于安全考虑,api.weixin.qq.com 不能被配置为服务器域名,相关 API 也不能在小程序内调用。 开发者应将 AppSecret 保存到后台服务器中,通过服务器使用 getAccessToken 接口获取 access_token,并调用相关 API;
- 不支持配置父域名,使用子域名。

** 总体思路 [#tf14c5fe]

- 创建Vuex进行状态管理(可根据实际需求自行选择是否使用)
- 创建一个登录按钮并添加触发事件
- 调用官方uni.getUserProfile() 接口获取用户信息
- 调用官方uni.login() 接口获取临时登录凭证code
- 调用后端的登录接口将code 传过去获取token 值
- 登录成功!渲染用户信息到页面中
- 创建一个退出登录按钮并添加触发事件
- 清空 vuex 中的 userinfo和token
- 退出成功!跳转到其他页面
* 微信小程序的设置 [#i11a0708]

|属性|类型|说明|h
|appid|String|微信小程序的AppID|
|setting|Object|微信小程序项目设置,参考setting|
|functionalPages|Boolean|微信小程序是否启用插件功能页,默认关闭|
|requiredBackgroundModes|Array|微信小程序需要在后台使用的能力,详见|
|plugins|Object|使用到的插件,详见|
|resizable|Boolean|在iPad上小程序是否支持屏幕旋转,默认关闭|
|navigateToMiniProgramAppIdList|Array|需要跳转的小程序列表,详见|
|permission|Object|微信小程序接口权限相关设置,比如申请位置权限必须填此处详见|
|workers|String|Worker 代码放置的目录。 详见|
|optimization|Object|对微信小程序的优化配置|
|cloudfunctionRoot|String|配置云开发目录,参考setting|
|uniStatistics|Object|微信小程序是否开启 uni 统计,配置方法同全局配置|
|scopedSlotsCompiler|String|Vue2 作用域插槽编译模式,uni-app 3.1.19+ 开始支持,可选:legacy、auto、augmented,默认:auto|
|mergeVirtualHostAttributes|Boolean|合并组件虚拟节点外层属性(目前仅支持 style、class 属性),uni-app 3.5.1+ 开始支持|
|embeddedAppIdList|Array|要半屏跳转的小程序appid。详见|
|requiredPrivateInfos|Array|地理位置相关接口。详见|
|lazyCodeLoading|String|目前仅支持值 requiredComponents,代表开启小程序按需注入特性,详见

#codeprettify{{
 XXX
}}

#hr();
Comment:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS