uniapp条件编译和网页端打包


一、uniapp条件编译

网页端不支持微信平台授权登录等功能,可通过条件编译,让代码编译到不同平台。
1.条件编译语法
通过特殊注释
以#ifdef 或 ifndef 加平台名称开发, 以#endif结尾
全局搜索:
1.wx. 开头的文件,添加特殊注释
2.Button open-type 属性,添加特殊注释

// #ifdef MP-WEIXIN
// 获取 code 登录凭证
//当前代码只会在微信小程序中执行
let code = ''
onLoad(async () => {
  const res = await wx.login()
  code = res.code
})

// 获取用户手机号码
const onGetphonenumber: UniHelper.ButtonOnGetphonenumber = async (ev) => {
  const { encryptedData, iv } = ev.detail
  const res = await postLoginWxMinAPI({ code, encryptedData, iv })
  loginSuccess(res.result)
}
// #endif
// #ifdef H5
const form = ref({
  account: '13000000000',
  password: '', //
})

// 表单提交
const onSubmit = async () => {
  const res = await postLoginAPI(form.value)
  loginSuccess(res.result)
}
// #endif
 <!-- 网页端表单登录 -->
      <!-- #ifdef H5 -->
      <input v-model="form.account" class="input" type="text" placeholder="请输入用户名/手机号码" />
      <input v-model="form.password" class="input" type="text" password placeholder="请输入密码" />
      <button @tap="onSubmit" class="button phone">登录</button>
      <!-- #endif -->

      <!-- 小程序端授权登录 -->
      <!-- #ifdef MP-WEIXIN -->
      <button class="button phone" open-type="getPhoneNumber" @getphonenumber="onGetphonenumber">
        <text class="icon icon-phone"></text>
        手机号快捷登录
      </button>
      <!-- #endif -->

二、网页端打包

npm run build:h5

出现白屏原因:可能是路径问题
配置manifest.json

 /* 网页端特有配置 */
    "h5" : {
        "router" : {
            // 路由基础路径。默认为 /
            "base" : "./"
        }
    },
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值